这个组合框包含一些x值当我选择第10个值时我需要禁用多个选择选项,除了第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]
});
}
}
}
});
答案 0 :(得分:2)
这是一个功能性解决方案:
$('#inc_combo_ems_hour').change(function(){
if ( $('#inc_combo_ems_hour option:selected').val() == 10 ) {
$(this).removeAttr('multiple');
} else {
$(this).attr('multiple', 'multiple');
}
});
&#13;
<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>
&#13;
或者看到这个alternate demo here
答案 1 :(得分:0)
试试这个,这对你有帮助。
$('#sle').change(function(){
$(this).removeAttr('multiple');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="sle" class="easyui-combobox" multiple="multiple" >
<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>
&#13;
答案 2 :(得分:0)
如果要在选项为10时删除多个选择:
$('#sle').change(function(){
if ( $(this).val() == 10 ) {
$(this).removeAttr('multiple');
} else {
$(this).attr('multiple', 'multiple');
}
});
答案 3 :(得分:0)
jQuery 1.6以后, 始终使用selectedIndex,因为选项值可能会更改。
$('#inc_combo_ems_hour').change(function() {
var $this = $(this);
if ( $this.prop("selectedIndex") === 9 ) {
$this.removeAttr('multiple');
} else {
$this.attr('multiple', 'multiple');
}
});