Javascript 如果选项为“0”,则无法取消多选的所有选项;“全部”;被选中
我遇到了这个问题(下拉列表使用的是selectedpluggin) 我正在调用jquery函数。问题是,有一个多重选择,第一个选项是“All”,所有其他选项都存在 当选择“全部”时,将取消选择所有其他选项 这是我的多选: 如何解决此问题 我知道这可能是一个愚蠢的问题,问题在于这一行代码:Javascript 如果选项为“0”,则无法取消多选的所有选项;“全部”;被选中,javascript,jquery,multi-select,Javascript,Jquery,Multi Select,我遇到了这个问题(下拉列表使用的是selectedpluggin) 我正在调用jquery函数。问题是,有一个多重选择,第一个选项是“All”,所有其他选项都存在 当选择“全部”时,将取消选择所有其他选项 这是我的多选: 如何解决此问题 我知道这可能是一个愚蠢的问题,问题在于这一行代码: $(obj+" option[value!=All]").removeAttr("selected"); 问题是,obj是一个对象,因此您不能像您尝试的那样通过连接字符串来构造CSS选择器。而是过滤除“all
$(obj+" option[value!=All]").removeAttr("selected");
问题是,
obj
是一个对象,因此您不能像您尝试的那样通过连接字符串来构造CSS选择器。而是过滤除“all”之外的所有选项,并使用prop方法取消选择它们:
function checkAll(obj) {
var values = $(obj).val();
if (values) {
$(obj).find('option').filter(function() {
return this.value !== 'All';
}).prop('selected', false);
}
}
你的代码错了。。当我选择任何选项时,即使它不是“全部”,那么当前选项也会被选中,其余选项也会被选中deselected@Saswat这是因为select/option用于单选。也许你可以使用复选框,因为它们是用于多选的。@newtoj是多选的bro@Saswat很抱歉,我没有在select元素中看到
多个
-掌心不对?这是您自己的函数的固定版本及其原始业务逻辑。
Error: Syntax error, unrecognized expression: [object HTMLSelectElement] option[value!=All]
throw new Error( "Syntax error, unrecognized expression: " + msg );
$(obj+" option[value!=All]").removeAttr("selected");
function checkAll(obj) {
var values = $(obj).val();
if (values) {
$(obj).find('option').filter(function() {
return this.value !== 'All';
}).prop('selected', false);
}
}