如何在一个选择中禁用多个选项。例如,我有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();
答案 0 :(得分:3)
你可以隐藏它们:
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();
答案 1 :(得分:0)
你也可以禁用它们:
var ary=[3,4,5];
$('[name=smjer] option').filter(function(){
return ($.inArray(parseInt(this.value),ary) >-1);
}).prop('disabled', true);