繁体   English   中英

jQuery Contains:value,在表中查找文本并返回其旁边的td

[英]Jquery Contains:value, find text in table and return the td next to it

我正在寻找的是一种在表上查找文本并向该字段旁边的td报告的方法。 用户当然必须输入文本。 由于某些原因,这条线对我不起作用

 $("tr td:contains('" + test + "')")

这是代码(另请参见下面的演示):

的HTML

<table>
    <tr><td class='eClass'> 4</td><td >test</td></tr>
    <tr><td>blah test blah</td><td class='eClass'>2</td></tr>
    <tr><td>blah blah test</td><td class='eClass'>3</td></tr>
    <tr><td>test blah blah</td><td class='eClass'>4</td></tr>
</table>
<input class="from" value=""></input>


<p class='total'></p>

jQuery的

$(".from").keyup(function () {
    var test = $(".from").val()

    $("tr td:contains('" + test + "')").each(function () {
        var a = $(this).siblings('td.eClass').html()
        $(".total").html(a)

    });

});

演示: http//jsfiddle.net/A2Htn/4/

*如果在输入字段中输入4,则应该进行测试。 如果我按3,我应该得到测试*

我究竟做错了什么?

采用

var a=$(this).html()

代替

var a = $(this).siblings('td.eClass').html()

我自己找到了答案(朋友的帮助)

演示: http//jsfiddle.net/QB79y/

.each中应该有一个if,以便每个返回正确的结果,而不仅仅是最后一个(当然)

$( ".from" ).keyup(function() { 
    var  test = $(".from").val();
    $(".tabledata td").each(function(){
      if ($(this).html()==test){
        var a=$(this).siblings('td').html()
        $(".total").html(a) 
          };
    });

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM