2010-01-30 75 views
0

我有一個表格,其中第一列是複選框,第二列是文本。 每當選中該複選框時,我想知道下一個單元格中的相應值。 請告訴我該怎麼做。 如果我使用getelementsbytagname函數,它將從文檔的開始處返回。Javascript:跳轉到表中的下一個單元格

回答

1

假設你正在使用jQuery(或其他一些文明的框架),這是很容易:

$('table#yourTableId input:checkbox').click(function(ev) { 
    if (this.checked) { 
    // not sure what you mean by "want to know" ... 
    console.log($(this).closest('tr').find('td:nth-child(2)').html()); 
    } 
}); 

你可以用jQuery的「活」的活動設施做同樣,which'd是如果有更便宜有很多複選框。

0

最簡單的方法是使用jQuery或類似的庫,實現CSS3選擇器。

$('table input:checked').parent().parent().find('td.nth-child(2)').text(): 

你也可以綁定到複選框

$('input:checkbox').change = function(){ 
    val = $(this).parent().parent().find('td.nth-child(2)').text(): 
} 
1

這是沒有的jQuery做的相當簡單的改變事件。我們有一個td內輸入,所以我們可以升了一級,並獲得下一個兄弟:

var nextTd = myInput.parentNode.nextSibling; 

因爲有些瀏覽器插入td S之間的空文本節點,我們可以做以下,以確保我們在正確的節點:

if (nextTd.tagName != "TD") 
    nextTd = nextTd.nextSibling; 

此外,FWIW,getElementsByTagName可以從任何節點調用。因此,如果我有一個表,我可以打電話給

myTable.getElementsByTagName("tr"); 

要返回的myTable內的所有行。

相關問題