jQuery,如何获取表行中特定复选框的值?
我有多行的表,但它的行包含3个复选框和按钮。现在,我想更新关于这个按钮和复选框的db表。但是,问题是当我单击每个行按钮时,无法获取复选框的值。请查找下面的代码,并让我知道如何根据每行上的按钮获取值jQuery,如何获取表行中特定复选框的值?,jquery,checkbox,multiple-value,Jquery,Checkbox,Multiple Value,我有多行的表,但它的行包含3个复选框和按钮。现在,我想更新关于这个按钮和复选框的db表。但是,问题是当我单击每个行按钮时,无法获取复选框的值。请查找下面的代码,并让我知道如何根据每行上的按钮获取值 <table width="100%"> <tr class="tbrow"> <td width="12%"> <span class="name">test.html</span> </td>
<table width="100%">
<tr class="tbrow">
<td width="12%">
<span class="name">test.html</span>
</td>
<input type="hidden" value="0" class="file_id" />
<td width="5%">
<span class="action">
<input type="checkbox" value="1" class="read" title="read" /> Read
</span>
</td>
<td width="5%">
<span class="action">
<input type="checkbox" value="1" class="write" title="write" /> Write
</span>
</td>
<td width="7%">
<span class="action">
<input type="checkbox" value="1" class="download" title="download" /> Download
</span>
</td>
<td width="5%">
<span class="action">
<input type="checkbox" value="1" class="share" title="share" /> Share
</span>
</td>
<td width="80%">
<span class="action">
<input type="submit" name="assign" class="assign" title="Submit" value="Submit" />
</span>
</td>
</tr>
<tr class="tbrow">
<td width="12%">
<span class="name">testing.doc</span>
</td>
<input type="hidden" value="1" class="file_id" />
<td width="5%">
<span class="action">
<input type="checkbox" value="1" class="read" title="read" /> Read
</span>
</td>
<td width="5%">
<span class="action">
<input type="checkbox" value="1" class="write" title="write" /> Write
</span>
</td>
<td width="7%">
<span class="action">
<input type="checkbox" value="1" class="download" title="download" /> Download
</span>
</td>
<td width="5%">
<span class="action">
<input type="checkbox" value="1" class="share" title="share" /> Share
</span>
</td>
<td width="80%">
<span class="action">
<input type="submit" name="assign" class="assign" title="Submit" value="Submit" />
</span>
</td>
</tr>
</table>
test.html
阅读
写
下载
分享
testing.doc
阅读
写
下载
分享
现在,当我单击第一行的“读取”复选框并单击“提交”时,它将拾取该值以及class=“file\u id”值的隐藏值
类似地,当我单击第二行中的submit时,它应该只拾取第二行中的复选框值,反之亦然
请检查代码并帮助我
提前感谢您抽出时间
谢谢!
Robin复选框的值在未选中时设置为null,在选中时设置为“开”,您需要在服务器端放置一些逻辑来处理它,因为如果您提交,您将有一个类似“1”的值:“开”
将值更改为“read”“write”等,并在其不为null时使用它您可以使用此jQuery代码查找对应于特定单击按钮和文件id的复选框类别:
$('.assign').click(function(){
console.log($(this).closest('tr').find('.file_id').val());
$(this).closest('tr').find('input[type=checkbox]:checked').each(function(){
console.log($(this).attr('class'));
});
});
您可以按任何方式使用类和文件id。在事件处理程序中
此
指触发事件的元素。使用当前元素可以遍历到重复元素的最高级别,在这种情况下,它将是
,然后在该主元素中进行所有后续搜索
$('.assign').click(function(){
var $row = $(this).closest('tr');
var thisRowFileID = $row.find('.file_id').val();
var thisRowCheckedCheckboxs = $row.find(':checkbox:checked');
/* do something with collection of checked checkboxes*/
});
使用此代码
- 工作演示在这里
upvote
和接受它。它将帮助其他人找到正确的解决方案。
$(function () {
$(".assign").click(function(){
var chk = $(this).closest('tr').find('input:checkbox');
var fileid=$(this).closest('tr').find('.file_id').val();
alert("File ID : " +fileid);
alert("read :" +chk[0].checked);
alert("Write: " +chk[1].checked);
alert("Download: "+ chk[2].checked);
});
});