我以为这是一个简单的技巧,但是我已经搜索了几个小时,找不到合适的搜索词。我希望有一个普通的多重选择框(<selectmultiple="multiple">),但我不想用户必须按住Control键才能进行多重选择。
<selectmultiple="multiple">
换句话说,我希望单击鼠标左键来切换<option>光标下方的元素,而不更改其他任何元素。换句话说,我想要的东西看起来像一个组合列表框,但表现得像一组复选框。
<option>
有人可以建议用Javascript做到这一点的简单方法吗?谢谢。
基本上,您需要覆盖mousedown每个事件<option>并在selected那里切换属性。
mousedown
selected
$('option').mousedown(function(e) { e.preventDefault(); $(this).prop('selected', !$(this).prop('selected')); return false; });
为简单起见,我在上面给出了“选项”作为选择器。您可以对其进行微调以匹配<option>s特定<select>元素。例如:$('#mymultiselectoption')
<option>s
<select>
$('#mymultiselectoption')