通过复选框模拟 CTRL 按键

Simulate CTRL keypress via checkbox

本文关键字:CTRL 按键 模拟 复选框      更新时间:2023-09-26

如果你有一个由 50 个选项的多选组成,后跟一个文本框,按住 ctrl 键是我们正常选择倍数的方式,但有时你点击 32 次,事情就会发生......现在,您已选择一个或没有。因此,我想知道的是,是否可以创建一个复选框,当选中该复选框时,特定选择字段中的所有单击都被视为在左键单击时按住ctrl

<form action="" method="post">
<input type="checkbox" name="marker" value="1"> Click here to select multiple<br>
 <select multiple style="width:50%" name="employees[]">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
            |
            |
            |
            v
       50 more here
</select> <br>
    Your message here:<br>
    <textarea name="msg" style="width:50%"></textarea><br>
    <input name="submit" type="submit" value="submit" />
    </form>

使用 JQuery 可以轻松操作<select>,请参阅 .val() 函数。有了它,您可以知道选择了什么,并且可以将所需的内容添加到选择中。

这是一个可能的脚本解决方案。基于此解决方案

$('option').mousedown(function(e) {
    if ($('#marker').is(":checked")) {
        e.preventDefault();
        $(this).prop('selected', !$(this).prop('selected'));
        return false;
    }
});