如果选中复选框,则获取tr元素的id

时间:2012-04-17 11:05:27

标签: jquery

使用以下代码,我得到tr个元素id属性:

var IDs = [];
$(".head").each(function(){ IDs.push(this.id); });
alert(IDs);

这些tr元素具有复选框。

我想要的是,如果选中复选框,那么我有tr个ID。我需要选中复选框tr ID:)

我怎样才能实现它?

3 个答案:

答案 0 :(得分:2)

您需要这个来获取勾选复选框的父ID ...

    var IDs = [];
    $(".head input:checked").each(function(){ IDs.push($(this).parent().attr("id")); });
    alert(IDs);

这是一个有效的例子......

http://jsfiddle.net/uMfe3/

答案 1 :(得分:1)

你可以这样做......

var Ids = $('.head:has(:checkbox:checked)')
           .map(function() { return this.id })
           .get();

如果您希望jQuery在内部使用querySelectorAll()来更快地执行,那么您可以使用...

var Ids = $('.head').filter(function() {
              return $(this).has('input[type="checkbox"]') && this.checked;
          });

...获取包含已选中复选框的.head元素的jQuery集合。

答案 2 :(得分:0)

类似

var IDs = [];
//iterate over your <tr>
$(".head").each(function(){ 
    //if there is atleas a checked checkbox
    if($('input:checkbox:checked', this).length > 0){ 
        //add the id of the <tr>
        IDs.push(this.id); 
    }
});

alert(IDs);

或者你可以做到

$(".head input:checkbox:checked").each(function(){ 
    IDs.push(this.id); 
});