在ajax响应的下拉列表中设置选定的值(数据库中的值)

时间:2018-10-19 10:29:49

标签: javascript ajax drop-down-menu codeigniter-3 selectedvalue

我从codeigniter控制器收到ajax响应,并在下拉列表框中设置该值。

这是我的代码:

<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 :(得分:1)

您可以轻松比较相关变量,并在匹配时在选项字符串中添加额外的selected属性。只需在您在append语句中创建的字符串中添加一个额外的子句即可:

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