javascript - 在多选表单上,如果未选择任何选项,则在提交时选择所有选项

标签 javascript jquery forms multi-select

使用 jQuery/Javascript,当用户单击“提交”时,我需要验证是否在选择表单上至少选择了一个选项,如果没有选择一个选项,我需要将它们全部提交。

所以在这样的表单上:

<form action="http://example.com" method="get" id="carfare" name="mycarform">
<select name="car" id="carchoice" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>
<input id="carsubmit" type="submit">
</form>

如果用户单击提交按钮而不选择任何选项,我需要它返回: http://example.com/?car=volvo&car=saab&car=opel&car=audi

最佳答案

首先,检查是否有通过do选择的项目

if(!$('#carchoice').val())

然后,将它们全部设置为

$('#carchoice option').prop("selected", true);

$('form').submit(function(){
   if(!$('#carchoice').val()){
     $('#carchoice option').prop("selected", true);
     }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form action="http://example.com" method="get" id="carfare" name="mycarform">
<select name="car" id="carchoice" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>
<input id="carsubmit" type="submit">
</form>

关于javascript - 在多选表单上,如果未选择任何选项,则在提交时选择所有选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30444024/

相关文章:

javascript - 是否有更紧凑的方法来检查数字是否在某个范围内?

javascript - 延迟链接点击所有页面链接

javascript - 如何使用来自其他表单输入的 javascript keyup 函数更新表单的输入值

javascript - 单击按钮时使用 ajax 在后台或 sql 查询中刷新页面

ruby-on-rails - 使用 Form Object 时应该如何处理编辑和更新操作?

javascript - PHP表单提交按钮但不离开页面

javascript - Google Maps API 自动完成输入文本框值丢失

Javascript : async constructor pattern

javascript - 使用javascript获取伪元素的offsetLeft

javascript - 在调整大小时放大图片