在多 select 表单上,提交 select 所有选项,如果 none 被 selected
On a multi-select form, on submit select all options if none were selected
使用 jQuery/Javascript,当用户点击提交时,我需要验证是否在 select 表单上至少选择了一个选项,而没有选择一个,我需要它们待提交。
所以在这样的表格上:
<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>
如果用户在没有选择任何选项的情况下单击提交按钮,我需要它return:
http://example.com/?car=volvo&car=saab&car=opel&car=audi
首先,检查是否有通过
选择的项目
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>
提交时检查选项是否 selected,如果不是 select 全部。
$(document).ready( function () {
$('#carefare').submit( function () {
var choice = $('#carchoice').val();
if(!choice) {
$('#carchoice option').attr('selected','selected');
}
});
});
参考jsfiddle
检查提交值的网络选项卡
使用 jQuery/Javascript,当用户点击提交时,我需要验证是否在 select 表单上至少选择了一个选项,而没有选择一个,我需要它们待提交。
所以在这样的表格上:
<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>
如果用户在没有选择任何选项的情况下单击提交按钮,我需要它return: http://example.com/?car=volvo&car=saab&car=opel&car=audi
首先,检查是否有通过
选择的项目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>
提交时检查选项是否 selected,如果不是 select 全部。
$(document).ready( function () {
$('#carefare').submit( function () {
var choice = $('#carchoice').val();
if(!choice) {
$('#carchoice option').attr('selected','selected');
}
});
});
参考jsfiddle 检查提交值的网络选项卡