Php Jquery检查多个选择是否具有值集
我有一个带有多个选择字段的表单,允许您在每次选择时选择多个条目 每个选择项都被命名为id1[]、id2[]、id3[]等 使用Jquery在尝试提交表单时,我是否可以检查任何选择是否没有选择任何内容 我试过了,但表单仍然提交Php Jquery检查多个选择是否具有值集,php,jquery,forms,select,Php,Jquery,Forms,Select,我有一个带有多个选择字段的表单,允许您在每次选择时选择多个条目 每个选择项都被命名为id1[]、id2[]、id3[]等 使用Jquery在尝试提交表单时,我是否可以检查任何选择是否没有选择任何内容 我试过了,但表单仍然提交 $("#submit").click(function() { $("select[name^='id']:visible").each(function(index, element) { if ($(this).val() ==
$("#submit").click(function() {
$("select[name^='id']:visible").each(function(index, element) {
if ($(this).val() == "") return false;
});
});
我不需要知道哪个特定的'id'select没有选择选项,但如果我选择了,那就太好了
谢谢将代码附加到表单提交处理程序,而不是提交按钮的单击处理程序,这样您就可以防止表单被提交
$("form").submit(function() {
var rtn = true;
$("select[name^='id']:visible").each(function(index, element) {
if ($(this).val() == "") {
console.log(this.id); // id
rtn = false;
return false;
}
});
return rtn;
});
您可以使用该函数返回所有未选择值的选择
var selectsWithNoValue = $("select[name^='id']:visible").filter(function() {
return !this.value.length;
});
然后,您可以检查长度,看看是否有不带值的元素,并且您还可以访问这些元素
if(selectsWithNoValue.length) { // if there are selects with no value
//do something
}
另外,由于您使用的是绑定到表单的提交处理程序的表单,因此不需要单击按钮
因此,如果您想阻止表单提交,您可以这样做
return !selectsWithNoValue.length
如果有任何选择没有值,则返回false
返回$select[name^='id']:visible>option[value=]:selected.length谢谢您的帮助。出于某种原因,它仍然在提交。我的表单名称和id是“表单”。。我将制作一把小提琴并试一试。@Rocket是的,给我链接谢谢-这很好用。无论如何,如果选择为空,它可以显示警报。还可以扩展到包含另一个名为“文件”的选择吗?我已经从选择中删除了名称,现在它正在检查所有选择。。哪个好用。如果我能让它显示并发出警报,以及可能是尚未完成的ID或文件选择,那就太好了..:如果!this.value.length警报“需要填写所有表单字段”+this.name;在第一次返回之前添加..我打开了一个新问题,看看如何使警报更引人注目。。