Javascript 带有全选功能的jquery选择器
为了简单起见,我有一个页面包含以下内容:Javascript 带有全选功能的jquery选择器,javascript,jquery,html,Javascript,Jquery,Html,为了简单起见,我有一个页面包含以下内容: <div id="parent"> <div class="commonClass" data-attribute-one="some value" data-attribute-two="some value"> .... (lots more rows) </div> 我遇到的困难是如何处理用户清空搜索字段或从下拉列表中选择“全部”(以过滤数据属性1)的情况?有没有办法更改我现有的选择器,以便更好
<div id="parent">
<div class="commonClass" data-attribute-one="some value" data-attribute-two="some value">
.... (lots more rows)
</div>
我遇到的困难是如何处理用户清空搜索字段或从下拉列表中选择“全部”(以过滤数据属性1)的情况?有没有办法更改我现有的选择器,以便更好地处理空(“”)searchValue1和/或searchValue2?或者,是沿着以下行动态构造选择器的解决方案:
selector = ".commonClass"
if ( searchValue1 != '' ) {
selector += "[data-attribute-one='" + searchValue1 +"']"
} ... etc
根据Joe Enos和Jaw.sh的评论,我编写了一个构建选择器的方法:
function constructSearchSelector() {
var selector = ".commonClasss";
if ( searchValue1 != '' ) {
selector += "[data-attribute-one='" + searchValue1 + "']";
}
if ( searchValue2 != '' ) {
selector += "[data-attribute-two*='" + searchValue2 + "']";
}
return selector;
}
通过这种方式,我可以轻松地添加更多搜索条件,并且可以轻松地调试构造的值。谢谢你的评论 就我个人而言,我同意你最后的选择。这样,当您进行调试时,您的
选择器将变得简单易读。您提供的示例解决方案没有任何问题。我想不出比这更雄辩的了。谢谢你的评论!
function constructSearchSelector() {
var selector = ".commonClasss";
if ( searchValue1 != '' ) {
selector += "[data-attribute-one='" + searchValue1 + "']";
}
if ( searchValue2 != '' ) {
selector += "[data-attribute-two*='" + searchValue2 + "']";
}
return selector;
}