php - Jquery 检查多个 Select 是否已设置值

标签 php jquery forms select

我有一个包含多个选择字段的表单,允许您在每个选择中选择多个条目。

每个选择都被命名为id1[]id2[]id3[]等。

使用 Jquery 尝试提交表单时,我可以检查是否有任何选择尚未选择任何内容?

我已经尝试过此操作,但表单仍然提交。

$("#submit").click(function() {
        $("select[name^='id']:visible").each(function(index, element) {
            if ($(this).val() == "") return false; 
        });
});

我不需要知道哪个特定的“id”选择没有选择选项,但如果我知道那就太好了..

谢谢

最佳答案

您可以使用filter函数返回所有没有选择值的选择

var selectsWithNoValue = $("select[name^='id']:visible").filter(function() {
     return !this.value.length;
});

然后您可以检查长度,看看是否有任何没有值的元素 - 并且您还可以访问这些元素

if(selectsWithNoValue.length) { // if there are selects with no value
    //do something
}

此外,由于您正在使用表单绑定(bind)到表单的提交处理程序,因此无需单击按钮。

所以如果你想阻止表单提交,你可以这样做

return !selectsWithNoValue.length

如果有任何选择没有值,将返回 false

FIDDLE

关于php - Jquery 检查多个 Select 是否已设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26301320/

相关文章:

php - 如果结果为空,则调用第二个查询

php - 我无法使用 jquery 访问我的元素

javascript - 视频播放时自动全屏切换 HTML5

jquery - 如何合并两个 jQuery 结果

javascript - JQuery - 除非原始表单数据已更改,否则禁用提交按钮

php - 如何制作在线/离线

php - IIS - Mysql 性能问题

python - Django 表单字段未加载到模板中

jQuery AJAX POST 变成 GET

php - codeigniter 2 如何处理类和对象