Я делаю AJAX-запрос, который выводит массив json, содержащий 7 или 8 элементов данных клиента. Я вставляю элементы json в строку html, которая содержит блоки выбора, динамически генерируемые циклами php foreach. Я пытаюсь добавить эту строку в родительский раздел дальше вверх по странице с помощью javascript.
Проблема, с которой я столкнулся, заключается в том, что я хотел бы установить текущие значения полей выбора с идентификаторами, которыегенерируется из JSON. Они хранятся в переменных javascript, но я пытаюсь сравнить их с значениями, сгенерированными php из базы данных, и, если они mathc, вывести тег «selected = selected».
Любые советы о том, как лучше всегоделать это будет? В настоящее время я пытаюсь использовать синтаксис лезвия laravel, @if($daypart->daypart_id == ' + json[2][i]["leave_day_part_id"] + ') selected="selected" @endif
, как показано в коде ниже.
Спасибо,
Роб
Лондон, Великобритания
if(json[2] != ""){
i = 0;
json[2].forEach(function(leave){
leave_requests.push(
'<div class="row">' +
'<div class="col-sm-2 low-padding-right">' +
'<input type="text" value="' + format_date(json[2][i]['leave_date'], 'leave') + '" name="leave_date" class="form-control" readonly>' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<select class="form-control" name="day_part" id="day_part" style="width: 100%;">' +
'<?php foreach($dayparts as $daypart){ ?>' +
'<option value="{{ $daypart->daypart_id }}" @if($daypart->daypart_id == ' + json[2][i]["leave_day_part_id"] + ') selected="selected" @endif >{{$daypart->daypart}}</option>' +
'<?php } ?>' +
'</select>' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<select class="form-control" name="leave_type" id="leave_type" style="width: 100%;">' +
'<?php foreach($leave_types as $leave_type){ ?>' +
'<option value="{{ $leave_type->leave_type_type_id }}">{{ $leave_type->leave_type_type }}</option>' +
'<?php } ?>' +
'</select>' +
'</div>' +
'<div class="col-sm-4 low-padding">' +
'<input type="text" value="' + filter_null_values(json[2][i]['leave_notes']) + '" name="leave_notes" class="form-control">' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<input type="text" value="' + (json[2][i]['employee_first_name']).charAt(0) + json[2][i]['employee_last_name'] + '" name="last_updated" class="form-control" readonly>' +
'</div>' +
'<div class="col-sm-2 low-padding">' +
'<input type="text" value="' + format_date(json[2][i]['leave_updated_time'], 'updated') + '" name="leave_updated_time" class="form-control" readonly>' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<select class="form-control" name="status" id="status" style="width: 100%;">' +
'<?php foreach($status_names as $name){ ?>' +
'<option value="' + json[2][i]['status_name'] + '" name="status" class="form-control">' + json[2][i]['status_name'] + '</option>' +
'<?php } ?>' +
'</select>' +
'</div>' +
'</div>'
);
i++;
});
$(".holiday-forms").show();
$(".holiday-forms").html(
leave_requests
);