获取jquery dataTable中已选中复选框的行ID?

时间:2012-12-06 11:12:13

标签: javascript jquery html datatable

我有一个DataTable,其中一列是复选框。我可以选择多个复选框。 现在单击按钮我想获得所选复选框的行ID。一旦ajax操作完成 点击按钮,我想再次为上面的行ID选择复选框。基本上 如何获取选中的行ID然后再次选中复选框?

2 个答案:

答案 0 :(得分:5)

假设每个复选框都将RowId作为其值属性。

获取所有选中的复选框:

var selectedIds = [];

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

重新检查复选框:

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

答案 1 :(得分: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代码

<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" />