我会采取不同的方法,使用data-
属性来确定应该禁用哪些下拉选择。
HTML:
<select name="column_select" id="column_select">
<option value="1" selected>1 column</option>
<option value="2">2 column</option>
<option value="3">3 column</option>
</select>
<select name="layout_select" id="layout_select">
<!--Below shows when '1 column' is selected is hidden otherwise-->
<option data-col="1" value="none">none</option>
<!--Below shows when '2 column' is selected is hidden otherwise-->
<option data-col="2" value="layout-1">layout 1</option>
<option data-col="2" value="layout-2">layout 2</option>
<!--Below shows when '3 column' is selected is hidden otherwise-->
<option data-col="3" value="layout-3">layout 3</option>
<option data-col="3" value="layout-4">layout 4</option>
<option data-col="3" value="layout-5">layout 5</option>
</select>
JS:
$(document).ready(function() {
$("#column_select").change(function() {
var val = $(this).val();
// not all browsers let you hide individual options; disable them instead
$("#layout_select").children().prop('disabled',true).filter(function(i) {
return $(this).data('col')<=val;
}).prop('disabled',false);
});
$('#column_select').trigger('change');
})
http://jsfiddle.net/Mxkfr/88/