更新时,与CODEIGNITER相关的下拉列表未显示选定的值

时间:2018-10-20 02:11:37

标签: javascript php codeigniter codeigniter-3 hmvc

我是javascript的初学者。我有一个从属下拉列表,我的问题是在编辑某人时,在从属下拉列表中,编辑下拉列表时不会自动选择。这是我的表单代码:

<div class="form-group">
                    <label class="control-label col-md-3 col-sm-3 col-xs-12" for="prov_id">Provinsi
                    </label>
                    <div class="col-md-6 col-sm-6 col-xs-12">
                        <?php
                        $additional_dd_code = 'id="reg_province" class="select2_single form-control col-md-7 col-xs-12" tabindex="-1"';
                        echo form_dropdown('prov_id', $prov_options, $prov_id, $additional_dd_code);
                        ?>
                    </div>
                </div>
                <div class="form-group">
                    <label class="control-label col-md-3 col-sm-3 col-xs-12" for="city_id">Kota/Kabupaten
                    </label>
                    <div class="col-md-6 col-sm-6 col-xs-12">
                        <select name="city_id" id="reg_city" class="select2_single form-control col-md-7 col-xs-12" tabindex="-1" >
                            <option value=""></option>
                        </select>
                    </div>
                </div>

这是我的javascript:

$(document).ready(function () {
        $('#reg_province').change(function () {
            var prov_id = $('#reg_province').val();
            if (prov_id != '') {
                $.ajax({
                    url: "<?= base_url() ?>reg_city/fetch_city",
                    method: "POST",
                    data: {prov_id: prov_id},
                    success: function (data) {
                        $('#reg_city').html(data);
                    }
                })
            }
        })
    })

这是我用于更新相关下拉列表的控制器:

function fetch_city() {
    $prov_id = $this->input->post('prov_id', TRUE);
    if ($prov_id == TRUE) {
        $query = $this->get_where_custom_order_by('prov_id', $prov_id, 'city_name');
        foreach ($query->result() as $item) {
            echo '<option value="'.$item->city_id.'">'.$item->city_name.'</option>>';
        }
    }
}

在从属下拉列表中,我唯一的问题是涉及编辑时。它应该显示了所选的ID。但实际上,它没有显示任何数据。那么,我的代码应该如何?

1 个答案:

答案 0 :(得分:0)

执行此操作以获取默认值

// in this handler
success: function (data) {
   $('#reg_city').html(data);

   // add below line
   if(city_id){
     $('#reg_city').val(city_id);
   }
}