3

列の1つがチェックボックスであるDataTableがあります。複数のチェックボックスを選択できます。ボタンをクリックすると、選択したチェックボックスの行IDを取得したいと思います。ボタンをクリックしてajax操作が完了したら、上記の行IDのチェックボックスをもう一度選択します。基本的に、チェックされた行IDを取得してから、チェックボックスを再度チェックする方法は?

4

2 に答える 2

5

各チェックボックスの値属性としてRowIdがあると仮定します。

選択したすべてのチェックボックスを取得します。

var selectedIds = [];

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

チェックボックスを再確認します。

$.each(selectedIds, function(index, id) {
    $(":checkbox[value='" + id + "']").prop("checked", true);
});
于 2012-12-06T13:04:12.593 に答える
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" />
于 2012-12-06T11:42:41.700 に答える