选中复选框时获取表格行的ID

时间:2013-05-31 08:48:18

标签: jquery

我在表格行中有一个复选框

<tr id="1">
<td><input type="checkbox" /></td>
<td>lorem</td>
<td>ipsum</td>
<td>css</td>
</tr>

我想在选中复选框时获取ID

我试过这个

var closestTr = $(':checkbox:checked').closest('tr').attr('id');

alert(closestTr);

我也试过这个http://jsfiddle.net/AbfJk/3/

为什么不获得身份证?

6 个答案:

答案 0 :(得分:5)

试试这个

$("#thechecked").click(function(){
    var closestTr = $(':checkbox:checked').closest('tr').attr('id');
    alert(closestTr);
});

工作小提琴:http://jsfiddle.net/AbfJk/7/

无论如何,你的小提琴缺少jquery并且还有一个“)”缺失(你把“结束评论”放在错误的行中)

答案 1 :(得分:2)

 $('input[type=checkbox]').change(function(){
      alert($(this).parent('tr').attr('id'));

   });

    alert(closestTr);

答案 2 :(得分:2)

我认为在你的jsfiddle中你还没有添加jquery支持。并且有一些修改。 我做了那些,我已经更新了jsfiddle。请检查一下。

http://jsfiddle.net/AbfJk/10/

我已经触发按钮点击。希望这可以帮助你

(function ($) {
        $('#thechecked').click(function () {
            var closestTr = $(':checkbox:checked').closest('tr').attr('id');
            alert(closestTr);
        });
    })(jQuery);

答案 3 :(得分:1)

您的代码很好并且有效。

在您的控制台中运行$(':checkbox:checked')。它会回来吗? []?

可能的原因:

  • 您忘记将jquery包含在页面中。
  • 您有多个复选框并返回错误的复选框。
  • JS在某处停止执行时出错。

答案 4 :(得分:1)

你可以这样做:

<强> JQuery的

$("input[type='checkbox']").on("click", function () {
    if ($(this).is(':checked')) {
        var id = $(this).closest('tr').attr('id');
        alert(id);
    }
});

JSFiddle

答案 5 :(得分:1)

$('input:checkbox').click(function () {
   if ($(this).is(':checked')) {
      var id = $(this).closest('tr').attr('id');
      alert(id);
   }
});