¿Cómo deshabilitar / habilitar el campo de selección usando jQuery?
Me gustaría crear una opción en una forma como
<code>[] I would like to order a [selectbox with pizza] pizza </code>
donde selectbox está habilitado solo cuando checkbox está marcado y deshabilitado cuando no está marcado.
Se me ocurre 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>
Probé varios métodos para configurar el atributo deshabilitado usando.prop()
, .attr()
y.disabled=
. Sin embargo, no pasa nada. Cuando se aplica a un<input type="checkbox">
en lugar de<select>
, el código funciona perfectamente.
Cómo deshabilitar / habilitar<select>
usando jQuery?