在jQuery DataTable中获取已选复选框的行id是什么?

3

我有一个DataTable表格,其中一列是复选框。我可以选择多个复选框。 现在,当单击按钮时,我想获取所选复选框的行ID。一旦完成ajax操作后, 单击按钮,我希望再次选择上述行ID的复选框。基本上,如何获取已选中的行ID,然后再次检查复选框?


你能否请发一些代码?- http://www.whathaveyoutried.com/ - Henrik Andersson
这与数据库无关。我认为 JavaScript 足够了。 - Subir Kumar Sao
抱歉,那是个打字错误。已更正为数据表。 - M Sach
2个回答

5
假设每个复选框的值属性都是其行ID。获取所有选中的复选框:
var selectedIds = [];

$(":checked").each(function() {
    selectedIds.push($(this).val());
});

请重新勾选复选框:

$.each(selectedIds, function(index, id) {
    $(":checkbox[value='" + id + "']").prop("checked", true);
});

2
如果我理解你的问题正确,那么这就是你要找的内容:

JQuery代码

$(document).ready(function() {
    $('#btn').click(function(){
       var dataArr = [];
       $('input:checked').each(function(){
        alert($(this).closest('tr[id]').attr('id'));// just to see the rowid's
            dataArr.push($(this).closest('tr[id]').attr('id')); // insert rowid's to array
       });
       // send data to back-end via ajax
       $.ajax({
              type : "POST",
              url : 'server.php',
              data : "content="+dataArr,
              success: function(data) {
                  alert(data);// alert the data from the server
              },
              error : function() {
              }
        });
    });
});

html code

<table border="2" cellspacing="2" cellpadding="2">
  <tr id="row1">
    <td><input id="checkbox1" name="checkbox1" type="checkbox" value="1" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr id="row2">
    <td><input id="checkbox2" name="checkbox2" type="checkbox" value="2" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr id="row3">
    <td><input id="checkbox3" name="checkbox3" type="checkbox" value="3" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<input id="btn" name="btn" type="button" value="CLICK" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接