Tengo este script, que debería ocultar/mostrar DIV según la opción seleccionada. Funciona muy bien.
Pero necesito deshabilitar otros DIV (SELECCIONES , etc. ) que actualmente no se eligen según el TIPO de selección principal. La razón es que tengo el mismo nombre para SELECT en cada DIV oculto ( posibilidad1 ); así que cuando elijo en la primera selección principal TIPO = 1 ( y hago clic en el botón ENVIAR ), transfiere valores de TIPO = 2 (valor de opción X, en lugar de, por ejemplo, valor de opción A).
¿Me podría ayudar? ¡Gracias!
<form action="#" method="post" id="text"> <select name="type" id="type"> <option value="1">1</option> <option value="2">2</option> </select> <script> $(function() {$('#type').change(function(){ $('.possibility').hide(); $('#' + $(this).val()).show(); }); }); </script> <!-- IF TYPE = 1 --> <div id="1" class="possibility" style="<?php if($_POST[type]=="1" || $_POST[type]==""){echo 'display:block;';} else {echo 'display:none;';} ?>"> <select name="possibility1" id="possibility1"> <option value="A">A</option> <option value="B">B</option> </select> </div> <!-- IF TYPE = 2 --> <div id="2" class="possibility" style="<?php if($_POST[type]=="2"){echo 'display:block;';} else {echo 'display:none;';} ?>"> <select name="possibility1" id="possibility1"> <option value="X">X</option> <option value="Y">Y</option> </select> </div> <input type="submit" name="send" value="send" class="button"> </form> <?php if(isset($_POST['send'])) { echo $_POST[possibility1]; } ?>
Intenté agregar a la secuencia de comandos este código, pero no funciona.
$(function() { $('#type').change(function(){ $('.possibility *').prop('disabled', true); $('#' + $(this).val()+' *').prop('disabled', false); }); });
$(function() { $('#type').change(function() { $('.possibility *').prop('disabled', true); $('#' + $(this).val() + ' *').prop('disabled', true); }); });
cambie a
document.queryselctor("#type").remove()
y puedes compartir el código completo
Muy bien, esto funciona :)
$(function() { $('#type').change(function() { $('.possibility').hide(); $('.possibility select').attr("disabled", "disabled"); $('#' + $(this).val()).show(); $('#' + $(this).val() + ' select').removeAttr("disabled"); }); $('#type').change(); });