如何用JQuery实现获取checkbox选中的那一行的input中的值
<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> 展开
思路:通过 :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、效果演示
这个你直接这样获取就可以
$("#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啊
$(":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);
});
如下代码可以解决:
<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>