获取Datatables中的tr id值

时间:2015-12-05 07:16:15

标签: javascript jquery html datatables

我有以下html表格布局

<tbody>
  <tr id="13" role="row" class="odd">
    <td class="sorting_1">
      <input type="checkbox" class="checkall selected" id="checkall" name="checkall[]">
    </td>
    <td>4</td>
    <td>4.00</td>
    <td>4</td>
  </tr>
  <tr id="12" class="even" role="row">
    <td class="sorting_1">
      <input id="checkall" class="checkall selected" type="checkbox" name="checkall[]">
    </td>
    <td>1</td>
    <td>1.00</td>
    <td>1</td>
  </tr>
  <tr id="11" class="odd" role="row">
    <td class="sorting_1">
      <input id="checkall" class="checkall" type="checkbox" name="checkall[]">
    </td>
    <td>4</td>
    <td>5.00</td>
    <td>2</td>
  </tr>
</tbody>

现在我需要获取一个tr id值,只需要获取所选输入复选框的行id值。  例如:我选择了行id =“13”和id =“12” 所以我需要得到13和12,而不是11。

3 个答案:

答案 0 :(得分:3)

您可以使用.each选择拥有checkbox(或使用selected - &gt; :checked)类的所有input[type=checkbox]:checked,然后获取{{ 1}}。

顺便说一句,你的id无效。根据{{​​3}}:

  

ID和NAME令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(&#34; - &#34;),   下划线(&#34; _&#34;),冒号(&#34;:&#34;)和句号(&#34;。&#34;)。

W3C

&#13;
&#13;
tr id
&#13;
$(document).ready(function() {
  var ids = [];
  $('table input[type=checkbox].selected').each(
    function(i) {
      ids.push($(this).closest('tr').attr('id'));
    });
  $('.results').html(ids);
});
&#13;
&#13;
&#13;

答案 1 :(得分:1)

你可以在没有任何框架的情况下为每个复选框添加内联onclick处理程序,如下所示:

<input id="checkall" onclick="getRowId(this)" class="checkall selected" type="checkbox" name="checkall[]">

然后提供处理程序:

<script>
    function getRowId(input_elm) {
        if(input_elm.checked) {
            //console.log(input_elm.parentNode.parentNode.id);
            alert(input_elm.parentNode.parentNode.id);
        }
    }
</script>

答案 2 :(得分:1)

你可以用这样的jquery来做。

 android:drawablePadding="5dp";

它将返回所选行的所有ID。