javascript - JQuery - 在类选择器中使用多个变量

标签 javascript jquery

我正在尝试使用来自用户输入的多个变量来连接一个类选择器。我得到一个空数组作为答案。

用户输入从下拉菜单中捕获并保存为变量:

var changed1 = $("#dropdown1-ddl option:selected").text();
var changed2 = $("#dropdown2-ddl option:selected").text();

根据列表项是否具有该特定类显示结果列表。

$("ul li").hide();    
$("ul li ."+changed1+"."+changed2).parent().show();

列表的设置使其从数据库中提取所有信息,并将搜索词存储在每个 li 标签下方的 div 标签中的类中。因此, parent 的表现。

<ul>
<li>
    <div class="value1"></div>
    <div class="value2"></div>
</li>
<li>
    <div class="value1"></div>
    <div class="value2"></div>
</li> 
</ul>

JQuery 应该在 div 中搜索与搜索词匹配的所有 div 并显示它们。

目前我可以提取用户输入并将其保存为变量。我可以很好地搜索一个变量,但是添加第二个变量会一直给出一个空数组(如果我只是一个 console.log 来输出连接的结果,至少这是结果。

最佳答案

您的选择器当前表示 li 的某个子元素在ul必须有两个changed1changed2等于。

但是由于每个div只有一个类,你可以试试下面的方法:

$("ul li").has('.' + changed1).filter(':has(.' + changed2 +')').show();

这将过滤出第一个 li,其中包含一个 div,其类的值为 changed1 ,并进一步过滤(li 的)列表,以查找那些也具有类值为 changed2 的 div 的列表。 , 然后显示匹配两者的那些 li。

我不确定这是最有效的方法,但它确实有效。

我用来测试的简单 jsFiddle:http://jsfiddle.net/DCqwH/

关于javascript - JQuery - 在类选择器中使用多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306727/

相关文章:

jquery - 可拖动/可排序的辅助尺寸

javascript - id 的 jQuery 选择器以特定文本开头

javascript - Bootstrap 弹出窗口未关闭

javascript - AJAX 响应从 JSON 文件返回未定义

javascript - 在鼠标位置缩放/缩放

asp.net-mvc - Ajax 重定向与 ActionLink 的工作方式不同

javascript - 在 jQuery 中 trim 部分链接

javascript - Backbone.js 模型数据检索

javascript - ES6 类构造函数中的解构

jquery - 输入 - 文本对齐 :right - fill input with jQuery