如何在jquery中组合一些选择器来拒绝我的函数在某些字段上做出反应?
样品:
我的自动完成又名。当任何输入字段获得大于3个符号的值时,将调用搜索函数。
要排除某些输入,请使用此
$('#customerdata input[name!="c_ldate"]').bind('keyup',function(){...
这适用于一个领域。不,我有第二个输入,我的功能不应该响应。
我想做类似
的事情$('#customerdata input[name!="c_ldate"], input[name!="c_ldate2"]')...
但这不起作用。
是否有一种简单的方法可以选择属性(名称)并说出"如果值是bla bla,请不要使用此"短手name!="bla bla OR foo bar"
很难添加小提琴...我的小提琴根本不起作用......即使不是我使用我的工作代码...... 有线
简单地说:
我在div中有10个输入,我想按名称排除其中两个!
修改
找到了我的解决方案。
$('#customerdata input').not('[name!="c_ldate"]').not('[name!="c_ldate_text"]')
//or similar and bit shorter
$('#customerdata input').not('[name!="c_ldate"],[name!="c_ldate_text"]')
//shortest for me in my case
$('#customerdata input').not('[name^="c_ldate"]')
//what actually just checks if name attribte starts with... so this is fine for me as well
答案 0 :(得分:0)
为所有输入添加一个类?然后 $("的.class")。结合... 如果我理解你的问题。
答案 1 :(得分:0)
逻辑上,两个CSS选择器之间的逗号运算符就像逻辑OR,但您的选择器正在排除。像这样:if(x!= 3 || x!= 4)。但该表达式不会排除x的任何值。我用jQuery尝试了这个,我碰巧有一个方便的方式:
$("body").append("<div id='foo'><input name='fred'><input name='george'><input name='harry'>");
然后,选择器:
$("#foo input[name!=fred]");
[input, input]
$("#foo input[name!=george]");
[input, input]
$("#foo input[name!=george], #foo input[name!=fred]");
[input, input, input]
所以最后一个选择器表达式不排除三个输入中的任何一个。