javascript - 查询。从选定的 <option> 中查找所有包含文本的 <tr>

标签 javascript jquery

我尝试在点击按钮后显示包含选项中所选文本的所有行,这是我的代码:

<select>
 <option>text1</option>
 <option>text2</option>
 <option>text3</option>
 <option>text4</option>
</select>
<button class="show"></button>
<button class="hide"></button>
<table>
 <tr>
  <td>text1</td><td>....</td>
 </tr>
 <tr>
  <td>text2</td><td>....</td>
 </tr>
 <tr>
  <td>text3</td><td>....</td>
 </tr>
 <tr>
  <td>text1</td><td>....</td>
 </tr>
</table>

我尝试做这样的事情,但它不起作用:

$(function(){
  b = $("tr");
  $(".show").on("click", function(){
   var a = $("select option:selected").text();
   $(b).hide();
   if ($("tr:contains('"+a+"')").length) 
    $(this).closest(tr).show();
 });

 $(".hide").on("click", function(){
  $(b).show();              
 });    
});

有人可以帮助我吗,请 :)

最佳答案

你需要这样的东西。不要污染全局空间并使用适当的选择器。并且不需要再包装一个 jQuery 对象。

$(function() {
    var b = $("table");
    $(".show").on("click", function() {
        var a = $("select option:selected").text();
        b.find("tr").hide().end().find("td:contains('" + a + "')").parent().show();
    });
    $(".hide").on("click", function() {
        b.find("tr").show();
    });
});

关于javascript - 查询。从选定的 <option> 中查找所有包含文本的 <tr>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26801325/

相关文章:

javascript - AngularJS ng-model 在选择绑定(bind)到名称而不是值

javascript - 圆环图 - 将域映射到颜色范围(过渡)

jQueryUI 按钮集 CSS 问题

javascript - 如何在没有任何单词的情况下连接多个单词,仅在自动完成中使用空格?

php - 图表未在带有融合图表的 php 和 mysql 中生成

javascript - 是否有可能从多个条件中返回任何一个为真的条件(以一种简单的方式)?

javascript - JavaScript 中的鼠标坐标?

javascript - Twitter Bootstrap 3 : Spyscroll always select last and working in JSFIDDLE not local with same code

javascript - 如何在 jQuery 模式中打开 Window.Open

javascript - 获取具有特定类的所有子元素的 ID