我想在表单中创建一个选项,类似于
[] I would like to order a [selectbox with pizza] pizza
当复选框被选中时,选择框才可用,未选中时则禁用。
我想到了这段代码:
<form>
<input type="checkbox" id="pizza" name="pizza" value="yes"> <label for="pizza">
I would like to order a</label>
<select name="pizza_kind">
<option>(choose one)</option>
<option value="margaritha">Margaritha</option>
<option value="hawai">Hawai</option>
</select>
pizza.
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script>
var update_pizza = function () {
if ($("#pizza").is(":checked")) {
$("#pizza_kind").removeAttr("disabled");
}
else {
$("#pizza_kind").prop('disabled', 'disabled');
}
};
$(update_pizza);
$("#pizza").change(update_pizza);
</script>
我尝试使用 .prop()
, .attr()
, 和 .disabled=
等方法设置 <select>
元素的禁用属性,但是没有效果。当应用在 <input type="checkbox">
元素而不是 <select>
元素时,代码可以完美地工作。
如何使用 jQuery 禁用/启用 <select>
元素?