sibling how have has child check jquery jquery-validate

how - Se requiere la selección de validación de JQuery si se marca la casilla



jquery has sibling (4)

utilizando jquery quiero hacer una selección de un cuadro de selección requerido (es decir, no se puede dejar como el valor predeterminado en blanco) si una casilla de verificación en particular está marcada. Mi código:

$(document).ready(function(){ $("#myForm").validate({ rules: { myDropDown: { required: { depends: function(element) { return $("#myCheckbox:checked") } } } } }) })

El html:

<input type="checkbox" name="myCheckbox" id="myCheckbox" value="1"> <select name="myDropDown" id="myDropDown"> <option value="" selected></option> <option value="1">Choice 1</option> <option value="2">Choice 2</option> <option value="3">Choice 3</option> </select>

No solo el código no funciona, sino que está eliminando las pestañas de jQuery que tengo en la siguiente sección de JavaScript.

Cualquier consejo apreciado.

Edición: Ahora que he resuelto todos mis corchetes, el comportamiento ahora es que hace que el cuadro de selección sea un campo obligatorio ya sea que la casilla de verificación esté marcada o no, es decir, la parte dependiente no funciona. Otro javascript en la página ahora está funcionando bien.


Esto funciona como un amuleto.

inputname: { required: function(){ if($("select[name=inputname]").val() == 1){ return true; } else { return false; } } }

Puedes editar el nombre de entrada al tuyo que prefieras.

Para cambiarlo al campo de entrada, puede cambiar la parte seleccionada para ingresar


No sé qué plugin estás usando, pero

return $("#myCheckbox:checked")

devuelve un objeto Jquery si su casilla está marcada. Creo que sería más correcto hacer:

return $("#myCheckbox").is('':checked'')

que devuelve verdadero o falso.

Tal vez esto no tiene nada que ver con tu problema.


Por favor intenta así

$(document).ready(function(){ $("#myForm").validate({ rules: { myDropDown:{ required: function (element) { if($("#myCheckbox").is('':checked'')){ var e = document.getElementById("myDropDown"); return e.options[e.selectedIndex].value=="" ; } else { return false; } } } } }); });


debería ser capaz de funcionar así:

rules : { myDropDown:{required:"#myCheckbox:checked"} }