【发布时间】:2010-11-19 12:14:21
【问题描述】:
假设我有这个下拉列表:
<select id="theOptions1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
我想要这样当用户选择 1 时,这是用户可以为下拉菜单 2 选择的东西:
<select id="theOptions2">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
或者如果用户选择2:
<select id="theOptions2">
<option value="a">a</option>
<option value="b">b</option>
</select>
或者如果用户选择3:
<select id="theOptions2">
<option value="b">b</option>
<option value="c">c</option>
</select>
我尝试了此处发布的代码: jQuery disable SELECT options based on Radio selected (Need support for all browsers)
但它不适用于选择。
请帮忙! 谢谢!
更新: 我真的很喜欢 Paolo Bergantino 的回答: jQuery disable SELECT options based on Radio selected (Need support for all browsers)
有没有办法修改它以使用选择而不是单选按钮?
jQuery.fn.filterOn = function(radio, values) {
return this.each(function() {
var select = this;
var options = [];
$(select).find('option').each(function() {
options.push({value: $(this).val(), text: $(this).text()});
});
$(select).data('options', options);
$(radio).click(function() {
var options = $(select).empty().data('options');
var haystack = values[$(this).attr('id')];
$.each(options, function(i) {
var option = options[i];
if($.inArray(option.value, haystack) !== -1) {
$(select).append(
$('<option>').text(option.text).val(option.value)
);
}
});
});
});
};
【问题讨论】:
标签: javascript jquery select