我想知道为什么它对我不起作用。我按照这里的说明:http://stackoverflow.com/questions/5418179/problem-with-jquery-getjson-retrieve-data-from-controller-code-igniter但也许我做错了。当用户从选择菜单中选择一个值时,我正在尝试制作将填充其余字段的脚本。
我的jQuery脚本如下所示:
$(document).ready(function() {
$('#selprod-1').change(function() {
var id = $('#selprod-1 option:selected').val();
$.post(
'<?php echo $head['site_link'];?>faktura/pobierzProdukt/'+id,
function(data){
alert(data);
$('#pkwiu').val(data.product_pkwiu);
$('#netto').val(data.product_netto);
$('#vat').val(data.product_vat);
$('#brutto').val(data.product_brutto);
$('#jedn').val(data.product_jedn);
},
'json'
);
});
});
我的HTML表单如下所示:
<tr>
<td>1</td>
<td><?php echo form_dropdown('produkt[]',$lista,'','id="selprod-1"');?></td>
<td><?php echo form_input(array('name'=>'pkwiu','class'=>'short','readonly'=>'readonly'));?></td>
<td><?php echo form_input(array('name'=>'netto','class'=>'short','id'=>'netto','readonly'=>'readonly'));?></td>
<td><?php echo form_input(array('name'=>'vat','class'=>'mini','id'=>'vat','readonly'=>'readonly'));?></td>
<td><?php echo form_input(array('name'=>'brutto','class'=>'short','id'=>'brutto','readonly'=>'readonly'));?></td>
<td><?php echo form_input(array('name'=>'jedn','class'=>'mini','id'=>'jedn','readonly'=>'readonly'));?></td>
<td><?php echo form_input(array('name'=>'ilosc','class'=>'short','id'=>'ilosc'));?></td>
<td><?php echo form_input(array('name'=>'knetto','class'=>'short','id'=>'knetto','readonly'=>'readonly'));?></td>
<td><?php echo form_input(array('name'=>'kvat','class'=>'short','id'=>'kvat','readonly'=>'readonly'));?></td>
<td><?php echo form_input(array('name'=>'kbrutto','class'=>'short','id'=>'kbrutto','readonly'=>'readonly'));?></td> </tr>
我的控制器功能(有效)如下所示:
public function pobierzProdukt($id)
{
$json = json_encode($this->Faktura_model->getProduct($id));
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 2027 05:00:00 GMT');
header('Content-type: application/json');
echo $json;
}
我的模型函数如下所示:
public function getProduct($id)
{
$q = 'SELECT product_vat, product_netto, product_brutto, product_jedn
FROM products
WHERE product_id="'.$id.'"';
$w = $this->db->query($q);
return json_encode($w->row_array());
}
答案 0 :(得分:0)
你编码两次,不确定json_encode是否处理,但是$ json不应该是json_encode