1

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

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

4

0 回答 0