如何用JQuery实现获取checkbox选中的那一行的input中的值

<tr><td><inputtype="checkbox"name="roleId"/></td><td><inputtype="text"name="roleName"... <tr>
<td>
<input type="checkbox" name="roleId"/>
</td>
<td>
<input type="text" name="roleName"/>
<td/>
<td>
<input type="text" name="roleType"/>
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="roleId"/>
</td>
<td>
<input type="text" name="roleName"/>
<td/>
<td>
<input type="text" name="roleType"/>
</td>
</tr>
展开
 我来答
learneroner
高粉答主

推荐于2017-09-20 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6373万
展开全部

思路:通过 :checked 筛选 checkbox 选中项,然后进行遍历,利用节点关系获取到input对象,最后使用val()方法获取input的内容。实例演示如下:

1、HTML结构

<table>

    <tr>

        <td><input type="checkbox" name="test"></td>

        <td><input type="text"></td><td><input type="text"></td>

    </tr>

    <tr>

        <td><input type="checkbox" name="test"></td>

        <td><input type="text"></td><td><input type="text"></td>

    </tr>

</table>

<input type="button" value="确定">

2、jquery代码

$(function(){

    $(":button").click(function() {

        // 找到选中行的input

        var ipts = $(":checkbox:checked").parents("tr").find("input:text");  

        // 遍历input并使用val()方法获取值

        str = .map(function() {return $(this).val();}).get().join(", ");

        alert(str);

    });

}); 

3、效果演示

孑敖88
2014-03-26 · 超过25用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:42万
展开全部

这个你直接这样获取就可以

$("#roleId").val()//获取name的值即可。

如果在后台的表单获取的话也是这样,你只要获取这个值就行。我在这里以Struts2里面获取form表单对象的为例:

private String roleId;
public void setRoleId(String roleId) {
    this.roleId = roleId;
}
public String getRoleId() {
    return this.roleId;
}

把他的name定义为Action的一个属性,提供set get 方法即可获取值,简单好用。不需要那么麻烦

追问
我是要获取选中的一行里面的所有值不是只要ID啊
我是要获取选中的一行里面的所有值不是只要ID啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
推荐于2017-09-13 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
$(":checkbox:checked").closest("tr").find("input").each(function(){
    ...
});
追问
each(function(){}这个里面怎么写啊

求QQ
追答
$(":checkbox:checked").closest("tr").find(":text").each(function(i, eleDom){
    // 遍历每个被选中的复选框所在行的文本框的值, 看你怎么用了,你要哪个
    alert('第 ' + (i+1) + ' 个文本框的值: ' + eleDom.value);
});
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澤希Dc
2014-03-26 · TA获得超过1747个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:246万
展开全部

如下代码可以解决:

<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$("input[type=checkbox]").click(function(){
var tr = $(this).parent("td").parent("tr");
tr.find("input[type=text]").each(function(){
alert($(this).val());
});
});
});
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式