2012-01-24 30 views
1
<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); 
}) 

LIVE:獲取檢查TR參數

如果我點擊顯示我想獲得的所有參數的形式檢查TR。我怎樣才能做到這一點?我的例子是壞...

+4

您至少可以提供一個語法正確的示例。 –

+0

你是什麼意思,你想從檢查的TR中獲取所有參數?你想確定哪些被檢查?或者你想解析包含複選框的'tr'標籤內的html/text?請更具體一些。 – Batkins

回答

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

+0

@保羅 - 你嘗試過嗎? – ShankarSangoli

+0

是的,感謝您的幫助:) –

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') 
    }); 
}); 
+0

他需要遍歷所有的兄弟'td'元素來獲取每個元素的所有屬性,而不是每個'輸入'......至少這就是我讀取它的方式。 –