Tengo una selección y etiquetas de entrada. Estoy actualizando un valor de una entrada de texto en función de lo que se selecciona en la etiqueta de selección.
Seleccionar etiqueta
<select class="form-control form-field-username form-field-users"> <option class="form-field-first-option" value="0" selected="selected">Select User...</option> <option value="1">Peter Fel</option> <option value="2">Mark Getty</option> </select>Etiqueta de entrada
<input name="user_id" id="user_id" class="form-control form-field-user-id" type="number">Código para onchange select:
$('.form-field-username').change( function() { $(this).find(":selected").each(function () { var userId = $(this).val(); $('.form-field-user-id').val(userId); }); });Quiero establecer el valor de la entrada de texto con la identificación de usuario de "user_id" en nulo o indefinido si onchange elige el primer valor o user_id == 0.
¿Sabes cómo modificar el código? Cualquier ayuda es apreciada. Gracias
Verifique el valor dentro del controlador usando un operador ternario . El método each() es completamente innecesario aquí ya que solo hay una opción seleccionada.
$('.form-field-username').change(function() { $('.form-field-user-id').val(this.value == 0 ? '' : this.value); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="form-control form-field-username form-field-users"> <option class="form-field-first-option" value="0" selected="selected">Select User...</option> <option value="1">Peter Fel</option> <option value="2">Mark Getty</option> </select> <input name="user_id" id="user_id" class="form-control form-field-user-id" type="number">Establecer vacío en el valor de la primera opción.
<select class="form-control form-field-username form-field-users"> <option class="form-field-first-option" value="" selected="selected">Select User...</option> <option value="1">Peter Fel</option> <option value="2">Mark Getty</option> </select>