我有一个带复选框的表。
<tbody id="myTable">
<tr>
<td>1</td>
<td class="userName">Bob</td>
<td><input id="u1" name="user" type="checkbox" value="1"></td>
</tr>
<tr>
<td>6</td>
<td class="userName">Izya</td>
<td><input id="u6" name="user" type="checkbox" value="6"></td>
</tr>
</tbody>
如何查找所有已检查输入的所有userName
并将这些名称放入数组中?
答案 0 :(得分:2)
尝试
var usernames = $('#myTable')
.find('tr:has(input.user:checked)')
.find('.userName').map(function(){
return $(this).text();
}).get();
它将创建一个包含所有用户名的数组,并选中相关的复选框
答案 1 :(得分:1)
也许使用这个脏代码:
var tr = $('#myTable > tr'), un = $('#myTable .userName'), check = $('#myTable input[type="checkbox"]'), users = [];
for (var i = 0; i < tr.length; i ++) {
if (check[i].checked) {
users.push(un[i].innerText);
}
}
然后在数组users
中,用户就在那里。
答案 2 :(得分:0)
<tbody id="myTable">
<tr>
<td>1</td>
<td class="userName">Bob</td>
<td><input id="u1" name="user" type="checkbox" value="1"></td>
</tr>
<tr>
<td>6</td>
<td class="userName">Izya</td>
<td><input id="u6" name="user" type="checkbox" value="6"></td>
</tr>
</tbody>
您应该使用class而不是id,因为id应该是页面唯一的。
使用jQuery:
$( '输入[类型= “复选框”]')丙( '检查')的兄弟姐妹( '用户名'。)文本(); ...
或者如果您需要输入的name属性:
$( '输入[类型= “复选框”]')丙( '检查')ATTR( '姓名');