javascript - 如何检查所有四个多选是否都选择了某个值?

标签 javascript jquery

我有 4 个多选,它们是通过这种方式动态创建的

var drp_nt = $('<select />', {
                              'id'     : 'drp_' + nt,
                              'name'   : 'drp_' + nt+'[]',
                              'multiple': true});

var drp_cnt = $('<select />', {
                              'id'     : 'drp_' + cnt,
                              'name'   : 'drp_' + cnt+'[]',
                              'multiple': true});

var drp_ctg = $('<select />', {
                              'id'     : 'drp_' + ctg,
                              'name'   : 'drp_' + ctg+'[]',
                              'multiple': true});

var drp_api = $('<select />', {
                              'id'     : 'drp_' + api,
                              'name'   : 'drp_' + api+'[]',
                              'multiple': true});

现在我想做一个名为

的函数
function check_selection()
{
-----------------
-----------------
}

其中将包含用于检查所有多选是否已选择任何数据的代码。

另外,我如何通过使用所有 4 个多选下拉列表中的事件来调用此函数(因为每当从任何多选中选择任何选项时都会触发此函数)

我尝试了多选的 onchange 事件,但它没有调用该函数。

最佳答案

使用change事件检查所有选择框是否被选中,使用filter()

$("select").change(function () {

    var selectedBox = $("select").filter(function () {
        return this.value != "";
    });
    if (selectedBox.length == 4) {
        alert("4 ckecked")
    }

});

对于动态元素

$(document).on("change", "select[id^=drp_]", function(){
       var selectedBox = $("select").filter(function () {
            return this.value != "";
        });
        if (selectedBox.length == 4) {
            alert("4 ckecked")
        }

    });

<强> DEMO

关于javascript - 如何检查所有四个多选是否都选择了某个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27290755/

相关文章:

jquery - Controller 操作 View 中未加载 CSS 和 Js

javascript - 更改 PHP 中禁用按钮的外观

javascript - 抗锯齿在 Three.js 中不起作用

javascript - 使用 vanilla JS 在页面重新加载时保持复选框选中或取消选中

javascript - 我可以为 jsonschema-form lib 中的日期输入设置 min 和 max 属性吗?

javascript - Vuejs 中的表格过滤器

javascript - 阻止或不阻止 (Express.js)

javascript - 如何使用选择菜单从单选按钮中删除禁用的属性

Jquery UI slider 并检测最大-最小范围

javascript - 如何在 Javascript 中说明多图?