gpt4 book ai didi

javascript - php codeigniter - 使用 ajax 取回默认值

转载 作者:行者123 更新时间:2023-11-30 16:11:16 26 4
gpt4 key购买 nike

我正在开发一个模块,用户可以在其中选择两个下拉菜单,第二个下拉菜单的值将根据第一个下拉菜单自动填充,并从数据库中获取值我使用的是 AJAX .

最初在页面加载时,在第二个下拉列表的位置(在带有 id="model_inner_list" 的 span 标记内)会有一个只读模式的文本框,这是第一次下拉时的情况向下值为0。

当第一个下拉列表的值更改为 0 以外的值时,跨度标记 id="model_inner_list" 文本框将被第二个下拉列表替换(填充来自数据库的值)

现在的问题是,当我将第一个下拉值改回 0 时,带有 id="model_inner_list" 的 span 标记中的第二个下拉值没有被默认文本框替换。即,当第一个下拉列表的值为 0 时,第二个下拉列表应替换为默认文本框。以下是我正在尝试的代码级详细信息

下拉菜单的外观

enter image description here

下拉菜单的 HTML 版本(包含在 View 文件中)

<div class="form-group input-group barnch_emp">
<span class="input-group-addon mylable">Make</span>
<select name="bv_vech_name_id" id="bv_vech_name_id" required="" class="form-control user-success" onchange="javascript:get_model_list(this.value)">
<option value="0">Select Vehicle Make</option>
<option value="1">HERO</option>
<option value="2">TVS</option>
<option value="3">SUZUKI</option>
<option value="4">BAJAJ</option>
<option value="5">HONDA</option>
<option value="6">YAMAHA</option>
<option value="7">MAHINDRA</option>
<option value="8">ROYAL ENFIELD</option>
</select>
</div>
<div class="form-group input-group barnch_emp">
<span class="input-group-addon mylable">Model</span>
<span id="model_inner_list">
<input type="text" class="form-control" value="Please Select Make" readonly="">
</span>
</div>

我正在使用下面的 javascript 函数通过 AJAX 调用 php 函数

function get_model_list(vm_vechile_id) {
document.getElementById('model_inner_list').innerHTML = '<img src="<?php echo base_url();?>assest/img/loader_small.gif"/>';
var url = '<?php echo base_url();?>index.php/order/get_model_list_ajax?vm_vechile_id=' + vm_vechile_id;
$.post(url, function(result) {
document.getElementById('model_inner_list').innerHTML = result;
});
}

AJAX 调用的 Controller 函数

function get_model_list_ajax($vm_vechile_id = "", $ba_city = "") {
if ($vm_vechile_id == '0') {
echo '<input type="text" class="form-control" value="Please Select Make" readonly>';
} else {
$this->load->model('Order_model');

if (!isset($_REQUEST['vm_vechile_id']))
$_REQUEST['vm_vechile_id'] = $vm_vechile_id;
if (!isset($_REQUEST['ba_city']))
$_REQUEST['ba_city'] = "";
$result = $this->Order_model->get_option_list_state('vechile_model', 'vm_vechile_id', $_REQUEST['vm_vechile_id']);
$cat1[''] = 'Select Model';
if ($result) {
foreach ($result as $item) {
$cat1[$item->vm_id] = $item->vm_model_name;
}
}
if ($vm_vechile_id)
return form_dropdown('bv_vech_model_id', $cat1, $ba_city, 'id="bv_vech_model_id" class="form-control"');
else
echo form_dropdown('bv_vech_model_id', $cat1, $_REQUEST['ba_city'], 'id="bv_vech_model_id" class="form-control"');
}
}`

上面Controller调用的模型函数

public function get_option_list_state($table_name = "", $field_name = "", $id = "") {
$res = array();
if ($id)
$this->db->where($field_name, $id);
$q = $this->db->get($table_name);
if ($q->num_rows() > 0) {
foreach (($q->result()) as $row) {
$data[] = $row;
}
return $data;
}
}

最佳答案

您可以像这样更改 get_model_list 函数:

function get_model_list(vm_vechile_id) {
if ( vm_vechile_id > 0 ) {
//ajax request goes here
}
else {
document.getElementById('model_inner_list').innerHTML = '<input type="text" class="form-control" value="Please Select Make" readonly="">';
}
}

关于javascript - php codeigniter - 使用 ajax 取回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36221495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com