JQuery根据选择隐藏和显示

时间:2016-11-02 13:16:26

标签: jquery

我在发布之前做了很多研究,似乎到目前为止没有找到任何解决方案。

我正在尝试根据选择显示/隐藏选项,到目前为止它是以一种方式工作。选择“艺术打印”时,会隐藏“额外的”选项,但是当我选择“拉伸打印”时,会长时间禁用。



jQuery("select#input_5_2").change(function($) {
	event.preventDefault();
	if ("select#input_5_2 option:selected[value!='Stretched Canvas Print|0']"){
		jQuery('select#input_5_3').children('option[value="Extra Long|0"]').prop("disabled", true);
	}
	
});

    <select name="input_2" id="input_5_2" onchange="gf_apply_rules(5, [5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23]);" class="medium gfield_select form-control" tabindex="1" aria-invalid="false">
    <option value="Stretched Canvas Print|0" price="">Stretched Canvas Print</option>
    <option value="Art Print|0" price="">Art Print</option>
    <option value="Framed Print|0" price="">Framed Print</option>
    <option value="Rolled Canvas|0" price="">Rolled Canvas</option>
</select>
<select name="input_3" id="input_5_3" onchange="gf_apply_rules(5, [5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22]);" class="medium gfield_select form-control" tabindex="2" aria-invalid="false">
    <option value="Landscape|0" price="">Landscape</option>
    <option value="Portrait|0" price="">Portrait</option>
    <option value="Square|0" price="">Square</option>
    <option value="Extra Long|0" price="" disabled="">Extra Long</option>
</select>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

试试这个:

jQuery("#input_5_2").change(function($) {
    if(jQuery(this).val() == "Art Print|0") {
        jQuery("#input_5_3 option:last").prop('disabled', true);
    } else {
        jQuery("#input_5_3 option:last").prop('disabled', false)
    }
});

假设您要禁用的选项是最后一个选项。