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

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

  lorem ipsum css  

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

我试过这个

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

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

为什么不获得身份证?

试试这个

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

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

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

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

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

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

我已经触发按钮点击。 希望这对你有所帮助

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

你的代码很好并且有效。

Plcease在你的控制台中运行$(’:checkbox:checked’)。 它会返回[]吗?

可能的原因:

  • 你忘了在页面中包含jquery。
  • 您有多个复选框并返回错误的复选框。
  • JS在某处停止执行时出错。
 $('input:checkbox').click(function () { if ($(this).is(':checked')) { var id = $(this).closest('tr').attr('id'); alert(id); } }); 

你可以这样做:

JQuery

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

的jsfiddle