如果你有一个由 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;
}
});