首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个选择字段中选择多个元素时禁用选择字段

从另一个选择字段中选择多个元素时禁用选择字段
EN

Stack Overflow用户
提问于 2017-03-15 19:42:55
回答 2查看 48关注 0票数 0

我的HTML页面包含3个多个选择字段(引导下拉组件):

代码语言:javascript
复制
<select class="form-control bootstrap-select"
        data-style="alpha-grey-300 pt-5 pb-5 pl-10 text-size-mini" multiple
        id="associated.persons" data-live-search="true">
</select>
<select class="bootstrap-select"
        data-style="alpha-grey-300 pt-5 pb-5 pl-10 text-size-mini" multiple
        id="leave.interim.substitutes" data-live-search="true">
</select>
<select class="bootstrap-select"
        data-style="alpha-grey-300 pt-5 pb-5 pl-10 text-size-mini" multiple
        id="leave.interim.validators" data-live-search="true">
</select>

当从第一个选择字段("associated.persons")中选择了多个元素时,我想禁用最后两个选择字段("leave.interim.substitutes“和"leave.interim.validators")。使用jQuery做这件事的最佳方式是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-15 19:48:04

代码语言:javascript
复制
$("#associated.persons").change(function(){
    $("#leave.interim.substitutes, #leave.interim.validators").prop("disabled", ($(":selected", this).length == 1));
})

每次在#associated.persons中进行一组新的选择时,$("#associated.persons").change都会启动一个侦听器(换句话说,只要有新的值,内部的函数就会触发)。

$("#leave.interim.substitutes, #leave.interim.validators")选择感兴趣的两个元素。.prop("disabled", boolean)设置这两个元素的disabled属性。如果为true,则添加disabled=true如果为false,则应删除disabled属性。

此布尔值由($(":selected", this).length == 1)确定,这是一个返回true或false的条件语句。this引用#associated.persons元素,:selected引用其中的任何选定选项。.length,因为jQuery中的多个元素只是一个数组。

因此,($(":selected", this).length == 1)意味着如果jQuery只选择了一个元素(该元素是:selected选项),则返回true。否则,返回false。

我把条件放在里面以减少行数,但它仍然具有相当的可读性。

票数 0
EN

Stack Overflow用户

发布于 2017-03-15 19:51:31

您可以使用它来获取所选项目的长度: var count = $("#yourSelect : selected ").length;

和禁用

代码语言:javascript
复制
if (count > 1) {
            $('#yourSelect').attr('disabled', false);
        } else {
            $('#yourSelect').attr('disabled', true);
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42808768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档