使用JQuery,我需要知道用户是否点击了链接或第三列,并且需要在第一列中获取变量的值。我该怎么做?
我的HTML:
<div id="test">
<table id="tablex" cellpadding="0" cellspacing="0" border="0" class="display">
<thead>
<tr>
<th>Cod</th>
<th>Name completo</th>
<th> </th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>John Foster 1</td>
<td><img entity_id="1" class="image-selector" src='imagens/grid_cancel.png' title='' /></td>
</tr>
</tbody>
</table>
我的jQuery:
$("#tablex tbody").on("click", "td", function(event){
alert($(this).text());
});
答案 0 :(得分:5)
$("#tablex tbody").on("click", "td", function(event){
alert($(this).index());
alert($(this).siblings("td:first").text());
});
$(this).index()
将为您提供所点击列的从零开始的索引。
$(this).siblings("td:first").text()
将在第一列中为您提供文字。
在这里,有一个小提琴:http://jsfiddle.net/adrianonantua/EAEsG/
答案 1 :(得分:3)
这将为您提供所点击列的列号,以及第1列的值...
$("#tablex tbody").on("click", "td", function(event){
var index = $(this).index();
var col1value = $(this).parent().find("td").first().text();
});
答案 2 :(得分:0)
<script type="text/javascript">
$(document).ready(function() {
$(".image-selector").on("click", function(event){
var colvalue = $(this).parent().parent().find("td").first().text();
alert(colvalue);
});
});
</script>
如果您希望它基于TD点击而不是图像点击,请将类移至td而不是图像
HOWEVER 这里是我认为更清洁的选择,使用HTML5数据属性
HTML
<td>1</td>
<td>John Foster 1</td>
<td><div data-value='1' class='image-selector'><img src='imagens/grid_cancel.png' title='' /></div></td>
的jQuery
<script type="text/javascript">
$(document).ready(function() {
$(".image-selector").on("click", function(event){
var colvalue = $(this).data('value');
alert(colvalue);
});
});
</script>