开发者

select specify row using Jquery

开发者 https://www.devze.com 2022-12-30 15:10 出处:网络
I have a HTML table like below: ColAColBColC ColD ColE ColF CheckedAAAABBBB CCCC DDDD EEEE UncheckedAAAABBBB CCCC DDDD EEEE

I have a HTML table like below:

ColA       ColB  ColC ColD ColE ColF
Checked    AAAA  BBBB CCCC DDDD EEEE
Unchecked  AAAA  BBBB CCCC DDDD EEEE
Checked    AAAA  BBBB CCCC DDDD EEEE
Checked    AAAA  BBBB CCCC DDDD EEEE
Unchecked  AAAA  BBBB CCCC DDDD EEEE
Checked    AAAA  BBBB CCCC DDDD EEEE
Checked    AAAA  BBBB CCCC DDDD EEEE

ColA is a Check box. I want to get the ColD value of all rows whose ColA is Checked. I want to use the jquery to 开发者_如何转开发do it. Does anyone meet it before?

Best Regards,


var array_of_the_values = $('table input:checked').map(function() { 
    return $(this).parents('tr').find('td:eq(3)').text();
  }).get();


$('table input:checked').parent('tr').find('td:eq(3)').text();


The no-jQuery solution

var inputs = document.getElementById("tableId").getElementsByTagName("input"), input, i = inputs.length;
while (i--){
    input = inputs[i];
    if (input.type == "checkbox" && input.checked){
         console.log(input.parentNode.parentNode.childNodes[3].innerHTML);
    }
}

This is guaranteed to be a lot faster than any of the css-selector methods (and easier to understand).

And a slight rewrite to return an array

var array_of_values = (function(table){
    var values = [], inputs = table.getElementsByTagName("input"), i = inputs.length;
    while (i--) 
        if (inputs[i].type == "checkbox" && inputs[i].checked) 
            values.push(inputs[i].parentNode.parentNode.childNodes[3].innerHTML);
    return values;
})(document.getElementById("tableId"));
0

精彩评论

暂无评论...
验证码 换一张
取 消