获取td值并使用JQuery与输入值进行比较

时间:2018-05-16 11:57:07

标签: javascript jquery html

我有一个类.client-data的表,其中包含许多行和单元格。我想搜索单元格并比较内部文本是否与输入值匹配,如果为true,我想将最近的<tr>标签跳转到与输入匹配的单元格。我是jQuery的新手,所以我可能会离开这里,但到目前为止,我有以下代码:

    $('.client-data td').each(function findNext() {

        var cellText = $(this).html();    
        var inputVal = $('#findField').val();
        var goTo = cellText.closest('tr').attr('id');

        if (cellText == inputVal) {
            $(document).scrollTop( $(goTo).offset().top );  
        }
    })

这可能吗?

1 个答案:

答案 0 :(得分:1)

假设这是你的html:

<input type="text" id="i">
<table class="client-data">
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>Feb</td>
<td>$100</td>
</tr>
<tr>
<td>March</td>
<td>$100</td>
</tr>
<tr>
<td>Mafdrch</td>
<td>$100</td>
</tr>
<tr>
<td>Mafsarch</td>
<td>$100</td>
</tr>
<tr>
<td>Macrch</td>
<td>$100</td>
</tr>
<tr>
<td>Mabxrch</td>
<td>$100</td>
</tr>
<tr>
<td>Mcxbarch</td>
<td>$100</td>
</tr>
<tr>
<td>Mxcbarch</td>
<td>$100</td>
</tr>
<tr>
<td>Mcbbxcarch</td>
<td>$100</td>
</tr>
</table>

用于搜索和滚动的脚本:

  // trigger on keyup
 $("#i").keyup(function(){
  var input = $(this).val();
  // scroll to first td that has the input val
  $('html, body').animate({
        scrollTop: $(".client-data td:contains('"+input+"')").first().offset().top
  }, 500);
})

点击此处查看:https://jsbin.com/toyecarigo/edit?html,console,output