Установить выбранное значение (значение из базы данных) как выбранное в раскрывающемся списке в ответе ajax - PullRequest
0 голосов
/ 19 октября 2018

Я получаю ответ ajax от моего контроллера codeigniter, и я устанавливаю эти значения в раскрывающемся списке.

Вот мой код:

<div class="form-group">
    <label for="cluster_id"><span style="color:red;">*</span>Property Cluster</label>
    <input type="hidden" name="cluster_id_property" id="cluster_id_property" value="<?= $addEditProperty->cluster_id; ?>">
    <select class="form-control" id="cluster_id" name="cluster_id" required="">
        <option value="">Select Cluster</option>
    </select>
</div>

Вот мой код JS:

var cluster_id_property = document.getElementById('cluster_id_property').value;
    var area_id = document.getElementById('area_id').value;
    $.ajax({
        'url'     : '<?= base_url('property/clusterByArea'); ?>',
        'type'    : 'POST',
        'dataType': 'JSON',
        'data'    : {area_id : area_id},
        success   : function(response) {
            $('#cluster_id').find('option').not(':first').remove();
            $.each(response,function(index,data){
                $('#cluster_id').append('<option value="'+data['cluster_id_primary']+'">'+data['cluster_name']+'</option>');
            });
        }
    });

Мой вопрос: как я могу установить выбранное значение в ответе ajax?Я хочу показать выбранное значение в edit page.

Любая помощь приветствуется, заранее спасибо.

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете легко сравнить соответствующие переменные и добавить дополнительный атрибут selected в строку параметров всякий раз, когда они совпадают.Просто добавьте дополнительное предложение в строку, которую вы создаете в операторе добавления:

$('#cluster_id').append('<option value="'+data['cluster_id_primary']+'" '+ (area_id == data['cluster_id_primary'] ? ' selected ' : '') +'>'+data['cluster_name']+'</option>');
...