2013-08-24 86 views
0

我試圖在單擊每列時發出警報消息。我有一個表格,其中三行四列,現在我想在每個表格的第三列點擊下列值的警報消息。我已經嘗試過,但所有的列都不是特定的列。我的問題是,這是在每列點擊調用,但我想警示mesage只有將各行從特定列中獲取值

HTML

<table id='myTable'> 
<tr><td>R1C1</td><td>R1C2</td><td>R1C3</td><td>R1C4</td></tr> 
<tr><td>R2C1</td><td>R2C2</td><td>R2C3</td><td>R2C4</td></tr> 
<tr><td>R3C1</td><td>R3C2</td><td>R3C3</td><td>R3C4</td></tr> 
</table> 

JS

$("#myTable tr").bind("click", function() { 
    alert($(this).children("td").eq(3).html()); 
}); 

演示Here

回答

1

試試這個

$('table#myTable tr td:nth-child(3)').on('click', function() { 
      alert($(this).next().html()); 
     }); 

檢查Here

-1

嘗試的第三欄點擊這個:

var thirdEle = $("#myTable tr td:nth-child(3)"); 
thirdEle.bind("click", function() { 
    alert($(this).html()); 
}); 
1
$("#myTable tr td:nth-child(3)").click(function() { 
    alert($(this).next().html()); 
}); 
1

試試這個:

$('#myTable').children('tr').children('td').eq(3).on('click', function() { 
    alert($(this).next().html()); 
}); 

上述功能可以確保您所呼叫的直接子元素,但沒有任何嵌套其他相同的元素。解決未來的迴歸。

1

如果您的表格要保持相同的大小,那麼已經有效的答案。如果你的桌子將增長,我會建議做一些事件代表團。如果將要有大量的事件監聽器,它將大大加快頁面的速度。

$('#myTable').on('click', 'td:nth-child(3)', function(){ 
    alert($(this).text()); 
}); 

看到這個jsfiddle,這jquery documentation

3

請試試這個代碼

$(document).ready(function() { 

      $('#myTable tr').each(function (Mindex, Mval) { 
       $(Mval).find('td:eq(2)').click(function() { 
        alert($(Mval).find('td:eq(3)').html()); 
       }); 
      }); 
0

下面的代碼將查找並設置所需的列值

$('#myTable tr:gt(0)').each(function(){ 
     // console.log($('td:eq(3)', $(this)).html()); 
     alert($('td:eq(3)', $(this)).html()); 
     $('#myTable').find('tr:gt(0)').find('td:eq(3)').html("hello"); 
    });