Мне интересно, почему это не работает для меня.Я следовал инструкциям отсюда: 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());
}