3

通过下面的代码,我得到了tr元素id属性:

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

这些tr元素有复选框。

我想要的是,如果选中复选框,那么我就有这些trid。我需要选中的复选框trID :)

我怎样才能实现它?

4

3 回答 3

2

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

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

这是一个工作示例...

http://jsfiddle.net/uMfe3/

于 2012-04-17T11:12:00.950 回答
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 集合。

于 2012-04-17T11:11:06.670 回答
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); 
});
于 2012-04-17T11:08:54.753 回答