javascript - 检查是否选择了两个多选下拉列表

标签 javascript jquery

我正在创建两个这样的下拉菜单

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

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

现在我像这样定义 check_data_function

function check_data()
{
    if($("select option:selected").length==2)
        alert('Two Dropdown Selected');
    else
        alert($("select option:selected").length);
}

当两个下拉菜单都选择了一些选项时,我想启用一个按钮。

在上面的代码片段中,问题是,如果我从下拉列表 drp_nt 中选择 2 选项,并且从 drp_cnt 中不选择任何选项>,然后还会出现警报 'Two Dropdown Selected'

我想在两个下拉菜单都选择了一些选项时发出警报 'Two Dropdown Selected'。如果一个选择了某些东西而另一个没有选择,则不会出现警报 'Two Dropdown Selected'

我怎样才能做到这一点?

最佳答案

这样就可以了:

function check_data() {
    if ($('select option:selected').parent().length == 2) {
        alert('Two Dropdown Selected');
    }
}

这个想法是您仍然选择选定的选项,但随后您获得它们的父 select 元素并验证其中恰好有两个。

查看下面的演示。

$('select').change(check_data);

function check_data() {
    if ($('select option:selected').parent().length == 2) {
        alert('Two Dropdown Selected');
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple>
    <option>Text 1</option>
    <option>Text 2</option>
    <option>Text 3</option>
    <option>Text 4</option>
</select>

<select multiple>
    <option>Text 1</option>
    <option>Text 2</option>
    <option>Text 3</option>
    <option>Text 4</option>
</select>

关于javascript - 检查是否选择了两个多选下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27292809/

相关文章:

jquery - 如何在城市文本框中自动完成

javascript - ember js 从 json 获取元信息

javascript - Google Docs 电子表格到 JSON

javascript - 发布时出现错误的表单数据名称

javascript - jQuery 没有在所有浏览器中被调用

javascript - 将 HTML 标记传递到 Handlebars 中

javascript - HTML onchange 属性不适用于 select 元素

javascript - 快速javascript拆分问题

javascript - 在不打开控制台的情况下在 Firefox 中显示 Javascript 错误计数

javascript - 从字符串中删除可能多次显示的字符