2012-04-26 37 views
0

如何被點擊取的複選框,單擊下一步TD的內容

<table> 
    <tr> 
     <td> 
      <input type=checkbox name=t> 
     </td> 
     <td width=25%> 
      FOOBAR 
     </td> 
     <td width=73%> 
      BAZ 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <input type=checkbox name=t> 
     </td> 
     <td width=25%> 
      FOO 
     </td> 
     <td width=73%> 
      BAR 
     </td> 
    </tr> 
</table> 

的複選框,當下次td的內容獲取我的JavaScript代碼:

var c=new Array(); 
c=window.document.getElementsByTagName('input'); 
for(var i=0;i<c.length;i++) 
{ 
    if(c[i].type=='checkbox') 
    { 
     alert(c[i].parentNode.parentNode.rows[0].innerHTML); 
    } 
} 

我想取單擊複選框時下一個td的內容。對於第一行,FOOBAR應該被提取等等。

編輯

需要注意的幾點:我敢肯定,我使用 這個問題上的標籤。請不要發佈任何指向某些JS 庫的答案。 jQuery的等

回答

1

這似乎是工作,雖然它是非常 HTML依賴(如涉及當然DOM遍歷,很多的JavaScript):

var c = []; 

c = window.document.getElementsByTagName('input'); 

for (var i = 0; i < c.length; i++) { 
    if (c[i].type == 'checkbox') { 
     c[i].onchange = function() { 
      if (this.checked){ 
       console.log(this.parentNode.nextElementSibling.firstChild.nodeValue.trim()); 
      } 
     }; 
    } 
}​ 

JS Fiddle demo

參考文獻:

+0

感謝先生。有效。 – 2012-04-26 20:05:33

+1

你的確非常歡迎,我很高興能夠得到幫助! =) – 2012-04-26 20:06:46

+1

它工作正常嗎?我認爲工作不正常,因爲如果您每次點擊相同的複選框(選中或未選中),您都將在控制檯中進行打印(目的是在剛打勾時打印)。另外,單擊「FOOBAR」複選框時將打印相同的值「FOO」,並且永遠不會打印「FOOBAR」。糾正我,如果我錯了。 – 2012-04-26 20:16:41

0

我已經使用jQuery的。我猜這沒關係?

​$('input:checkbox').live('click', function() { 
     alert($(this).parent().next('td').text()); 
    });​​​​​​​​​​​​​​​ 

+1

問題是沒有被標註爲'jQuery',所以我會假設OP *沒有按'*不需要jQuery解決方案,但我想他必須讓你知道。另外,應該注意的是'.live()'已經被棄用,而贊成'.on()'。 – 2012-04-26 19:50:25

+0

我知道如何使用jquery。但我不想在我的網站上有這麼重要的任務。 – 2012-04-26 19:52:44

+0

@OscarJara - 我想我把這個問題標記得夠好。我沒有看到我放在那裏的任何jQuery代碼? – 2012-04-26 20:12:08

0

使用jQuery,會更好,在這裏你的解決方案:

$('[type=checkbox]').on('click', function(){ 
    var html; 
    if($(this).is(':checked')) { 
    html = $(this).parent().next('td').html(); 
    alert(html); 
    } 
}); 
​ 

DEMO:http://jsfiddle.net/oscarj24/yYuzS/

+0

我覺得對於標籤,使社會作出了選擇,同時質疑和我熟悉如何以及何時使用它們。 PS-檢查問題標籤。 – 2012-04-26 20:05:05

相關問題