Tengo una lista desplegable y quiero que el valor se envíe al controlador cuando se selecciona una opción, reemplazando los valores devueltos en las entradas deseadas
Entradas HTML:
<input type="text" class="form-control js-inputs" id="microchipcode"> <input class="form-control js-inputs" id="fa-horse"> <input type="text" id="fa-fatherhorse" class="form-control js-inputs">Desplegable HTML:
$('.js-selected-item').change(function () { let Value = $(this).val(); $.ajax({ data: { value: Value }, Url: "/Horse/GetHorseByMcode", type: "post", success: function (data) { } });});
Controlador :
public async Task<IActionResult> GetInfoHorse(string value) { var horse = await _coach.GetHorseByMcode(value); if (horse != null) { return Json(horse); } return NotFound(); }Consulta :
public async Task<Horse> GetHorseByMcode(string value) { return await _context.Horses.SingleAsync(h => h.MicrochipCode == value.Trim()); }Si desea poner un valor en una input a través de js, agregue una ID a las entradas y haga lo siguiente:
JS:
document.getElementById('//inputId').value = '';jquery:
("#//inputId").val("");¿Cómo accedo a los datos dentro del objeto?
Puede verificar la solicitud y la respuesta en la pestaña Red de la herramienta para desarrolladores f12, como se muestra a continuación.
e implemente el código de interfaz para completar los campos de entrada en la función de devolución de llamada success de ajax en función de los datos devueltos reales.
Por ejemplo:
success: function (data) { $("#fa-fatherhorse").val(data.fatherHorse); //populate other inputs based on your actual returned data¿Cómo reemplazar la lista desplegable?
Si desea establecer dinámicamente el valor/opción seleccionado del menú desplegable, puede probar:
$("#dropdown_id_here").val(value_of_selected_option); Si desea agregar dinámicamente <option> a su menú desplegable, puede intentar:
var newoption = "<option value='" + option_val + "'>" + option_text + "</option>"; $("#dropdown_id_here").append(newoption);