Как показывание и скрывать select путь другой select

У меня есть этот код и все функционирует хорошо.
Но они попросили у меня, что, выбрав пол, например, да я выбираю "САМКА", select 'КАСТРАТА' он, должно быть, скрывает и да выбрав, нужно давать возможность "САМЦУ" select 'КАСТРАТА' и мочь сохранять.

Здесь я оставляю им код envió данных php в mysql и HTMAqui esta la estructura de la tabla con la que trabajo este formulario
Здесь - структура таблицы, с которой работал этот формуляр.

Todos los campos son obligatorios.

'; }else{ $sexo = $_POST['sexo']; $tipo = $_POST['tipo']; $raza = $_POST['raza']; $raza_pater = $_POST['raza_pater']; $raza_mater = $_POST['raza_mater']; $castrado = $_POST['castrado']; $vacunas = $_POST['vacunas']; $fecha_n = $_POST['fecha_n']; $peso = $_POST['peso']; $fecha_i = $_POST['fecha_i']; $result = 0; include "../conexion.php"; $query_insert = mysqli_query($conection,"INSERT INTO cerdo (cod_sexo, cod_tipo, cod_raza, cod_raza_paterna, cod_raza_matern, castrado, cod_vacuna, fecha_nacimiento, peso_inicial, fecha_ingreso_granja) Values('$sexo','$tipo', '$raza','$raza_pater', '$raza_mater', '$castrado', '$vacunas', '$fecha_n','$peso','$fecha_i' )"); if ($query_insert) { $alert = '

Cerdo registrado correctamente.

'; }else{ $alert = '

Error al registrar el cerdo.

'; } } } mysqli_close($conection); ?>




  
  

  Registro Cerdo
  
  








  
  

Registrar Cerdo


0
задан 20.03.2019, 22:43
2 ответа

Ты можешь делать одну funciГіn из JS, любое сомнение не сомневайся в том, чтобы спрашивать, я надеюсь, что оно ты функционирует.

    <select name="sexo" id="sexo" onchange="mostrar()"><!--agregamos la función al atributo onchange para que se ejecute cada que cambies el valor.-->
                <option disabled selected>Selecciona el sexo</option>
                <?php 
                                if ($result_sexo > 0) 
                                {
                                    while ($sexo = mysqli_fetch_array($query_sexo)) {
                            ?>
                <option value="<?php echo $sexo[" cod_sexo "]; ?>">
                  <?php echo $sexo["descripcion_sexo"];?>
                </option>

                <?php               
                                    }
                                }

                            ?>
              </select>

    <script>
            function mostrar(){

            var sexo = document.getElementById('sexo').value;
            var divCastrado = document.getElementById('castrados');
            var selectCastrado = document.getElementById('castrado');

            if(sexo == 'HEMBRA'){

            selectCastrado.removeAttribute('required',''); // removemos el atributo required ya que estamos ocultando pero al dar submit el campo estará vació y te marcará error 
selectCastrado.disabled= 'true';

            }else{

            selectCastrado.setAttribute('required','');//Agregamos el atributo required para que no se pase por alto el campo
            selectCastrado.disabled='false'; //cambiamos el atributo disabled por false para que pueda seleccionar
            }

        }

    </script>
0
ответ дан 02.12.2019, 05:22
  • 1
    Большое спасибо amig@!! Обрати внимание, что probé có я говорю, но не, который происходит, что, когда Самка или Самец выбирают так, они блокируются... а именно, если я выбираю " HEMBRA" блокируется select; если я выбираю " MACHO" он блокируется равно.... – a_bane 20.03.2019, 22:03
  • 2
    Уже издайте ответ, если ты только хочешь, чтобы ему дали возможность, или deshabilete он с disabled = ' false'; или disables = ' true'; – Vick Muñoz 20.03.2019, 22:09
  • 3
    Дружелюбная тысяча спасибо уже я функционировала!! С предыдущим ответом, оно я не функционировало, потому что в IF вместо ' HEMBRA' это был có я говорю ' 1' так как у меня есть ПОЛ в таблице базы данных, в которой я работаю!!! За НЕГО ТЕБЕ БЛАГОДАРЕН!! – a_bane 20.03.2019, 22:51
  • 4
    Как в descripció n твоего вопроса ты это устанавливаешь как ' MACHO' И ' HEMBRA' , я предположил этих это были стоимость XD, как хорошо, что ты funcionó и нет qué для этого это сообщество :) – Vick Muñoz 20.03.2019, 23:11

Для которого ты просишь, ты можешь использовать JS и признак disabled из HTML.

Для этого создает listener в select пола и анализируется она opciГіn, что выбирает. Если он - 'Самец', лишают признака disabled select кастрата, и тебе позволяет выбирать это

let sexo = document.getElementById('sexo');
sexo.addEventListener("change", function(){
	if (sexo.value.toUpperCase() == 'MACHO') {
		document.getElementById('castrado').disabled = false;
	}else {
		document.getElementById('castrado').disabled = true;
	}
});
<label for="sexo">Sexo</label>
<select class="sexo" id="sexo" name="sexo">
	<option disabled selected value="0"> Seleccione sexo</option>
	<option value="macho">Macho</option>
	<option value="hembra">Hembra</option>
</select>
<label for="castrado">Castrado</label>
<select class="castrado" id="castrado" name="castrado" disabled>
	<option selected value="0"></option>
	<option value="si">Si</option>
	<option value="no">No</option>
</select>
0
ответ дан 02.12.2019, 05:22