在多个选择框onmousedown中选择取消选择选项

时间:2013-11-14 11:22:56

标签: jquery options html-select multiple-select unselect

我尝试更改多个选择框的处理,只需单击它们即可选择和取消选择选项(不使用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”,系统会将其视为已选中并尝试取消选择它(如上所述不起作用)。

有没有人有解决方案。对于多选框的替代用法,我只找到上面的代码?

0 个答案:

没有答案