Php 使用AJAX更改下拉列表值
我无法使用AJAX以某种方式更改下拉选项,但是我可以使用当前模型在表单上填充initialize,但“OnChange”下拉列表只是重置为NULL,而不是填充下拉字段 这是我表单视图的一部分。。。 这是我的模型Php 使用AJAX更改下拉列表值,php,ajax,Php,Ajax,我无法使用AJAX以某种方式更改下拉选项,但是我可以使用当前模型在表单上填充initialize,但“OnChange”下拉列表只是重置为NULL,而不是填充下拉字段 这是我表单视图的一部分。。。 这是我的模型 function get_products_by_client($exp_by_id) { $query = $this->db->query(" SELECT prod_id, prod_name FROM
function get_products_by_client($exp_by_id)
{
$query = $this->db->query("
SELECT prod_id, prod_name
FROM products
WHERE client_id = ".$exp_by_id);
return $query;
}
您的ajax请求不需要是post,它可以是GET。此外,还应指定预期的数据类型。另外,您在两种不同的上下文中使用了
prod\u id
,这很容易混淆和出错
为您的ajax调用尝试以下方法:
$.ajax({
type: "GET",
dataType: "json",
url: "expenses/get_products_by_client_ajax/"+exp_by_id,
success: function(products) {
$.each(products,function(prod_id,prod_name)
{
var opt = $('<option />');
opt.val(prod_id);
opt.text(prod_name);
$('#prod_id').append(opt);
});
}
});
您的ajax需要json响应,您是否返回json?
function get_products_by_client($exp_by_id)
{
$query = $this->db->query("
SELECT prod_id, prod_name
FROM products
WHERE client_id = ".$exp_by_id);
return $query;
}
$.ajax({
type: "GET",
dataType: "json",
url: "expenses/get_products_by_client_ajax/"+exp_by_id,
success: function(products) {
$.each(products,function(prod_id,prod_name)
{
var opt = $('<option />');
opt.val(prod_id);
opt.text(prod_name);
$('#prod_id').append(opt);
});
}
});
return json_encode($prod_name);