Javascript jquery multiselect:未选定选项的计数不起作用
我正在尝试在multi-select中计算未选择的数量。但似乎有一些问题。更多信息请参见小提琴 问题: 尝试单击“全选”和“取消全选”按钮几次,然后选择“所有停止工作”。 即使Select all在视觉上停止工作,它仍然在dom中选择/取消选择。您可以使用firebug来检查它。 如果它在dom中选择/取消选择,为什么它对取消选择的元素给出不正确的计数? 注: 请按照下面小提琴的顺序来查看我的问题。 单击全选,然后取消全选,然后再次全选。 此时,DOM/Firebug显示已选择选项。 但当我按count时,我得到的结果是4,即0 目标:我不在乎它是否在视觉上进行选择,我的主要目的是在firebug显示正在选择和取消选择选项时获得未选择选项的正确计数 JSFIDDLE: HTML: JS:Javascript jquery multiselect:未选定选项的计数不起作用,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试在multi-select中计算未选择的数量。但似乎有一些问题。更多信息请参见小提琴 问题: 尝试单击“全选”和“取消全选”按钮几次,然后选择“所有停止工作”。 即使Select all在视觉上停止工作,它仍然在dom中选择/取消选择。您可以使用firebug来检查它。 如果它在dom中选择/取消选择,为什么它对取消选择的元素给出不正确的计数? 注: 请按照下面小提琴的顺序来查看我的问题。 单击全选,然后取消全选,然后再次全选。 此时,DOM/Firebug显示已选择选项。 但当我按c
元素的属性和属性之间存在差异。属性是初始状态,属性是当前状态 您正在设置选项的属性,该属性仅在元素没有该属性开始时起作用。之后,属性将接管并设置属性对当前状态不再有任何影响 要更改选择状态时,需要设置属性而不是属性:
$("#selectall").click(function (event) {
$("#languages option").prop('selected', true);
});
$("#deselectall").click(function (event) {
$("#languages option").prop('selected', false);
});
演示:元素的属性和属性之间存在差异。属性是初始状态,属性是当前状态 您正在设置选项的属性,该属性仅在元素没有该属性开始时起作用。之后,属性将接管并设置属性对当前状态不再有任何影响 要更改选择状态时,需要设置属性而不是属性:
$("#selectall").click(function (event) {
$("#languages option").prop('selected', true);
});
$("#deselectall").click(function (event) {
$("#languages option").prop('selected', false);
});
演示:在Chrome上,效果很好。但在Firefox上,一旦按下全选然后取消全选,从现在起就不能按下全选按钮。很奇怪。但是如果你按下全选然后取消全选,然后手动选择所有项目,它就会工作。在Chrome上,它工作得很好。但在Firefox上,一旦按下全选然后取消全选,从现在起就不能按下全选按钮。很奇怪。但是如果你按下全选然后取消全选,然后手动选择所有项目,它就会工作。
$("#selectall").click(function (event) {
$("#languages option").prop('selected', true);
});
$("#deselectall").click(function (event) {
$("#languages option").prop('selected', false);
});