从已检查TR的TD获取参数

时间:2012-01-24 16:07:14

标签: javascript jquery

<table id="tab">
    <tr><td><input type="checkbox"></td><td aaa="111">sdf</td><td bbb="222">sdfsd</td><td ccc="333">trs</td></tr>
    <tr><td><input type="checkbox"></td><td aaa="342">hjk</td><td bbb="274">sdfsd</td><td ccc="337">sdg</td></tr>
    <tr><td><input type="checkbox"></td><td aaa="432">hgj</td><td bbb="652">sdfsd</td><td ccc="747">dih</td></tr>
</table>

<span id="show">show</span>


$("#show").click(function(){
    var text = [];
    $("#tab").each(
        if($(this).find(input[type=checkbox].is(:checked))){
           text.push({
              'aaa': $(this).attr('aaa'),
              'bbb': $(this).attr('bbb'),
               'ccc': $(this).attr('ccc')
          });
        }
    )
        console.log(text);
})

现场:http://jsfiddle.net/KFbbZ/

如果我点击显示,我想要检查所有参数表格TR。我该怎么做?我的榜样很糟糕......

2 个答案:

答案 0 :(得分:3)

试试这个

var text, $tr, $td, isChecked;
$("#show").click(function(){
    text = [];
    $("#tab input:checked").each(function(){
        $tr = $(this).closest('tr'); 
        $tds = $tr.find('td');
        text.push({
           'aaa': $tds.eq(1).attr('aaa'),
           'bbb': $tds.eq(2).attr('bbb'),
            'ccc': $tds.eq(3).attr('ccc')
        });
     });
     console.log(text);
})

<强> Demo

答案 1 :(得分:1)

当您想要循环遍历所有复选框时,您正在遍历ID为"tab"的表的实例:

var $boxes = $('table#tab').find('input[type="checkbox"]:checked');
$boxes.each(function() {
    text.push({
        'aaa': $(this).attr('aaa'),
        'bbb': $(this).attr('bbb'),
        'ccc': $(this).attr('ccc')
    });
});