Como desabilitar / habilitar o campo de seleção usando jQuery?
Eu gostaria de criar uma opção em um formulário como
<code>[] I would like to order a [selectbox with pizza] pizza </code>
onde selectbox é habilitado somente quando a caixa de seleção está marcada e desabilitada quando não está marcada.
Eu chego com este código:
<code><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> </code>
Eu tentei vários métodos como definir atributo desativado usando.prop()
, .attr()
e.disabled=
. No entanto, nada acontece. Ao aplicar a um<input type="checkbox">
ao invés de<select>
, o código funciona perfeitamente.
Como desativar / ativar<select>
usando jQuery?