Tengo un menú desplegable como este:
<div class="row"> <div class="col-md-12 col-sm-6"> <div class="form-group"> <label for="">{{ __('Product Plan') }}<span class="required"></span></label> <select name="product_plan" class="form-control" id="product_plan" style="width: 50%"> @foreach ($product_plan as $val) <option value="{{ $val->productplanID }}"> {{ $val->productplanID }}</option> @endforeach </select> </div> </div> </div>Uso modal para actualizar estos datos, así que uso AJAX. Este es mi método ajax para obtener los datos:
$('body').on('click', '.editPlanSchedule', function() { var Item_id = $(this).data('id'); $.get("/quotation/getEditPlanSchedule" + '/' + Item_id, function(data) { $('#product_plan').val(data.product_plan); // console.log(data.product_plan); })});
Obtengo los datos correctamente. Mi pregunta es, ¿cómo poner el valor seleccionado en la opción de selección de la base de datos usando ajax? Intento console.log(data.product_plan), obtengo los datos. Pero cuando hago $('#product_plan').val(data.product_plan);, la opción de selección no seleccionó la selección correcta de la base de datos.
Prueba esto:
$('body').on('click', '.editPlanSchedule', function() { var Item_id = $(this).data('id'); $.get("/quotation/getEditPlanSchedule" + '/' + Item_id, function(data) { let options = ""; data.product_plan.forEach(p => { options += `<option value="${p.productplanID}">${p.productplanID}</option>`; } $('#product_plan').val(options); }) });