我试图改变对多个选择框的处理,只需单击它们即可选择和取消选择选项(不使用 CTRL+单击)。直到 Firefox 更新,一切都按预期工作,但现在只有单击的那个被标记为选中,没有其他任何事情发生。我使用以下代码选择和取消选择一个选项(直到 Firefox 25.0):
$(this).find('option').mousedown(function(e) {
e.preventDefault();
if ($(this).is(':selected')) {
$(this).selected(false); // function that sets elements to selected/checked etc or not
} else {
$(this).selected(true);
}
selectElement.change();
return false;
});
我在尝试几件事时发现的另一件事是,如果选择了一次选项(第一次或之前选择了其他选项),“$(this).is(':selected')”会返回错误的值)。例如,到目前为止选择并标记了选项“a”。我选择了另一个,然后尝试取消选择选项“a”。第一次,什么都没有发生(选择了选项“a”),但是如果我第二次选择选项“a”,系统会将其视为已选择并尝试取消选择它(如上所述不起作用)。
有没有人有解决办法。对于多选框的替代用法,我只找到了上面的代码?