javascript - 如何在更改或选择事件时禁用多选?

标签 javascript jquery html arrays

当我选择第 10 个值时,此组合框包含一些 x 值,我需要禁用多选选项,第 10 个值除外意味着此选项应该是多选

 <select class="easyui-combobox" multiple="multiple" multiline="true"  style="width: 150px;height:50px;" id="inc_combo_ems_hour" style="width: 75px;">
                        <option value="00">00</option>
                        <option value="01">01</option>
                        <option value="02">02</option>
                        <option value="03">03</option>
                        <option value="04">04</option>
                        <option value="10">10</option></select>    


    $('#inc_combo_ems_hour').combobox({
            onSelect: function(){
                var val=[];
        val=$('#inc_combo_ems_hour').combobox('getValues');

        for(i=0;i<10;i++)
        {
        if(val[i]!="null"){
        if(val[i]=="*")
        {
        $('#inc_combo_ems_hour').combobox({
                        required: false,
                        novalidate: false,
                multiple: false,
                value:"*"
                        });
        }
        }
        else if(val[i]!=null && val[i] !="*"){
        $('#inc_combo_ems_hour').combobox('setValue',val[i])
        $('#inc_combo_ems_hour').combobox({
                        required: true,
                        novalidate: false,
                multiple: true,
                value:val[i]
                        });
        }
        }
        }
        });

最佳答案

这是一个实用的解决方案:

$('#inc_combo_ems_hour').change(function(){

  if ( $('#inc_combo_ems_hour option:selected').val() == 10 ) {

    $(this).removeAttr('multiple');

  } else {

    $(this).attr('multiple', 'multiple');

  }

});
<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>

<select class="easyui-combobox" multiple="multiple" multiline="true"  style="width: 150px;height:50px;" id="inc_combo_ems_hour" style="width: 75px;">
  <option value="00">00</option>
  <option value="01">01</option>
  <option value="02">02</option>
  <option value="03">03</option>
  <option value="04">04</option>
  <option value="10">10</option>
</select>

或者看看这个alternate demo here

关于javascript - 如何在更改或选择事件时禁用多选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808618/

相关文章:

javascript - jQuery .animate() 问题,<p> 标签正在移动

javascript - JQuery 并非在所有地方都能正常工作

javascript - JavaScript 中是否可以自动声明数千个变量?

javascript - 使用 anchor 可以使用 Javascript/不同方法处理浏览器后退按钮?

javascript - 如何发现 LocalConnection 连接名称?

javascript - someEmptyArray.push(data) 之后数组的索引 0 未定义

javascript - 如何在不使用 charAt() 的情况下迭代 JavaScript 字符串,或者它是否重要?

jQuery 多 div 下拉菜单

jquery - 如何在 jquery 中的某些文本后立即附加一个 div?

JavaScript - 用数组填充下拉列表