我有一个标准的 select multiple
HTML 输入字段,例如:
<select multiple="multiple" size="5" id="mysel" name="countries">
<option value="2">Afghanistan</option>
<option value="4">Aland</option>
</select>
由于这是多项选择,要选择多个值,您必须按住 CTRL
键并选择任何其他元素。但是我想要实现的是:
- 单击一个未选择的选项选择它
- 单击一个已选择的选项取消选择它。
这个想法是为了避免必须按下 CTRL
键并更改此输入字段的使用语义。元素只能通过单击来选择和取消选择(即切换选择状态)。
我还没有能够实现这一点。伪代码应该看起来像这样。
- 捕捉点击事件。
- 检查被点击的元素是否未被选中,然后选择它
- 或者,如果单击的元素已被选中,则取消选中它。
我应该如何实施?
原文由 tim 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用以下代码片段来达到您想要的效果
在旧版本的 jQuery 中,
prop()
不可用: