2013-07-16 303 views
0

我能够通过表格单击事件检索所有行值并通过event.currentTarget.cells[4].innerText();获取其值。单击特定列时获取表格行单元格值

但我想申请这个,如果只点击一个特定的列,当我点击一个ID 21Username column下。它应该提醒该行的所有单元格值。然后当我点击其他列时,它不应该警惕。

这是我的代码。请按照我的要求告诉我你是否有问题。

<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $('#tableid').on('click', 'tr', function (event) { 
      alert(event.currentTarget.cells[0].innerText); 
      alert(event.currentTarget.cells[1].innerText); 
      alert(event.currentTarget.cells[2].innerText); 
      alert(event.currentTarget.cells[3].innerText); 
      alert(event.currentTarget.cells[4].innerText); 
     }); 
    }); 
</script> 

这里是我的HTML http://jsfiddle.net/jE5UM/

+1

,什么是你的HTML? –

+0

请你可以提供一个小提琴 – 2013-07-16 07:05:05

+0

在这里,我提交迟到家伙的道歉。 http://jsfiddle.net/jE5UM/ –

回答

0

尝试

$(document).ready(function() { 
    $('#tableid').on('click', 'tr', function (event) {     
     $(this).children().each(function(){ 
      alert($(this).text()) 
     }) 
    }); 
}); 

演示:Fiddle

如果你想要一个数组作为结果,那么

$(document).ready(function() { 
    $('#tableid').on('click', 'tr', function (event) {     
     var texts = $(this).children().map(function(){ 
      return $.trim($(this).html()) 
     }).get(); 
    }); 
}); 

演示:Fiddle

更新

$(document).ready(function() { 
    $('#tableid').on('click', 'tr td:nth-child(2)', function (event) {     
     var texts = $(this).closest('td').siblings().addBack().map(function(){ 
      return $.trim($(this).html()) 
     }).get(); 
     alert(texts.join()) 
    }); 
}); 

演示:Fiddle

+0

我欣赏你的答案阿伦。但我想要的是,我希望点击事件只能在像用户名这样的特定列上工作。你能告诉我如何在qjuery或JavaScript中可能吗?谢谢。 –

+0

@ Mr.Adamant查看更新 –

+0

阿伦,你几乎在那里。你可以循环行单元格并逐个提醒它吗?我只是新的Java脚本,这就是为什么。几乎完美的阿伦。 –

0

我建议,在没有特定HTML和其他信息:

$(document).ready(function() { 
    $('#tableid').on('click', 'tr', function (event) { 
     var cell = event.target, 
      values = $(cell).siblings().addBack().map(function(){ 
         return $(this).text(); 
        }).get(); 
     alert(values); 
    }); 
}); 

JS Fiddle demo

参考文献:

+0

嗨大卫,谢谢你的回答。我知道你的代码可能在优化方式中很有用。但是我想要的是,只有当特定列像用户名一样被点击时,我才想使其工作。你能提供一个示例代码吗?请做一个示例工作,当我点击用户名下的字段时,它应该提醒别人没有更多的警报。 –