如何禁用多重选择选项(How to disable multiple select options)

2019-08-31 09:47发布

如何在一个选择禁用多个选项。 例如我有2个选择具有5级3的选项。 所以,如果我选择第二选择第三个选项,我想禁用先选择第3,第4和第5的选择:

<select name="smjer">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>

第二个选择:

<select name="godina" >
<option value="1" >1.</option>
<option value="2" >2.</option>
<option value="3">3.</option>
</select>

我试着删除选项,但我不能没有提神页面检索它们:

var ary=[3,4,5];
$('[name=smjer] option').filter(function(){
    return ($.inArray(parseInt(this.value),ary) >-1);
}).remove();

Answer 1:

你可以只隐藏起来:

var ary = [3, 4, 5];
$('[name=smjer] option').filter(function () {
    return ($.inArray(parseInt(this.value), ary) > -1);
}).hide();

并再次要求时表现出来:

var ary = [3, 4, 5];
$('[name=smjer] option').filter(function () {
    return ($.inArray(parseInt(this.value), ary) > -1);
}).show();

为了使其更好,你可以这样做:

var ary = [3, 4, 5];

// Get the options to be hidden/shown
var $options = $('[name=smjer] option').filter(function () {
    return ($.inArray(parseInt(this.value), ary) > -1);
});

// Hide the options
$options.hide();

// Show the options
$options.show();


Answer 2:

你还可以禁用它们:

var ary=[3,4,5];
$('[name=smjer] option').filter(function(){
    return ($.inArray(parseInt(this.value),ary) >-1);
}).prop('disabled', true);


文章来源: How to disable multiple select options
标签: jquery option