【问题标题】:CODEIGNITER dependent dropdown is not showing selected value when update更新时,CODEIGNITER 相关下拉菜单未显示所选值
【发布时间】:2018-10-20 02:11:36
【问题描述】:

我是 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。但实际上,它没有显示任何数据。那么,我的代码应该如何?

【问题讨论】:

  • 尝试在编辑表单中调用$('#reg_province').trigger('change')
  • 我应该把代码放在哪里?是否替换$('#reg_province').change(function () {}?如果是,如何实现?
  • $('#reg_province').change(function () {...结束后添加到$(document).ready(function () {...
  • 它有效。非常感谢,对我帮助很大。但是,我有下一个问题:如何选择该选项?
  • 好的。让我也解决这个问题

标签: javascript php codeigniter codeigniter-3 hmvc


【解决方案1】:

为默认值执行此操作

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

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

【讨论】:

  • 我应该把它放在哪里?
  • 紧跟在.change()之后,city_id将是默认选择城市的id
  • 我不明白,抱歉。你能告诉我应该怎么做吗?
  • 是的,很清楚。但是很抱歉,它不起作用
  • 你好朋友@thphobe9312
猜你喜欢
  • 1970-01-01
  • 2021-03-07
  • 1970-01-01
  • 2020-12-29
  • 2014-06-01
  • 2017-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多