2014-03-26 68 views
0

這裏我試圖通過jquery獲取選定行的特定列的值。以下代碼我有兩行沒有任何id.I試着按照下面的方式,並獲得該列的兩行值附加each.how只獲得該行的值只使用jquery.I想調用測試功能點擊該元素,不想使用http://jsfiddle.net/SSS83/如何通過jQuery獲取選定行的列值通過單擊元素調用方法來檢索值

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
</script> 
<script type="text/javascript"> 

function test(){ 
var id = $(".use-address").closest("tr").find('td:eq(2)').text(); 
    alert(id); 
} 
    </script> 

</head> 
<body> 
<table id="choose-address-table" class="ui-widget ui-widget-content"> 
    <thead> 
    <tr class="ui-widget-header "> 
     <th>Name/Nr.</th> 
     <th>Street</th> 
     <th>Town</th> 
     <th>Postcode</th> 
     <th>Country</th> 
     <th>Options</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td class="nr"><span>50</span> 

     </td> 
     <td>Some Street 1</td> 
     <td>Glas</td> 
     <td>G0 0XX</td> 
     <td>United Kingdom</td> 
     <td> 
     <button type="button" class="use-address" onclick="test();">Use</button> 
     </td> 
    </tr> 
    <tr> 
     <td class="nr"><span>30</span> 
     </td> 
     <td>Some Street 2</td> 
     <td>Glasgow</td> 
     <td>G0 0XX</td> 
     <td>United Kingdom</td> 
     <td> 
      <button type="button" class="use-address" onclick="test();">Use</button> 
     </td> 
    </tr> 
    </tbody> 
</table> 
</body> 
</html> 

回答

7

不確定爲什麼你不想使用jQuery Click事件!任何方式,如果你想堅持你的測試功能,你需要告訴函數從它被調用的地方。

所以更改

<button type="button" class="use-address" onclick="test();">Use</button> 

<button type="button" class="use-address" onclick="test(this);">Use</button> 

並更新測試功能

function test(el) { 
    var id = $(el).closest("tr").find('td:eq(2)').text(); 
    alert(id); 
} 

享受!


如果您改變了主意,你可以使用下面的代碼

jQuery('document').ready(function() { 
     jQuery('.use-address').on('click',function() { 
      var id = $(this).closest("tr").find('td:eq(2)').text(); 
      alert(id); 
     }) 
}); 
+0

謝謝,這解決了我的查詢。 – b22

+1

高興地幫助你:) – xiidea

+0

謝謝你的工作代碼。收下。 +1 – Developer

0

基於一個TD的點擊:

$('td').on('click',function() { 
     //get the column of the TD 
     var myCol = $(this).index(); 

     //loop through the rows of this table, get the TD in the same column 
     $(this).parent('table').find('tr').each(function() { 
     var colValue = $(this).find('td').eq(myIndex).html() 
     } 
}) 

循環中的「colValue」將獲取該位置處TD的內容。

+0

需要添加上面這段代碼到測試功能? – b22

+0

否。它使用TD上的實際點擊來確定選擇哪個列。 –

相關問題