确定用户单击的列/行

时间:2012-10-31 17:27:30

标签: jquery jquery-plugins datatables

使用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>&nbsp;</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());
});

3 个答案:

答案 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>