2011-05-16 2 views
0

Je me demande pourquoi cela ne fonctionne pas pour moi. J'ai suivi les instructions d'ici: http://stackoverflow.com/questions/5418179/problem-with-jquery-getjson-retrieve-data-from-controller-code-igniter mais peut-être que je fais quelque chose de mal. J'essaie de créer un script qui peuplera le reste des champs lorsque l'utilisateur sélectionne une valeur dans le menu de sélection.problème avec la réception de données du contrôleur en utilisant .getJSON() et CodeIgniter

Mon script jQuery ressemble à ceci:

$(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' 
     ); 
    }); 
}); 

Ma forme HTML ressemble à ceci:

<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> 

Ma fonction de contrôleur (qui fonctionne) ressemble à ceci:

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; 
    } 

Ma fonction de modèle ressemble à ceci:

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

ur encodant deux fois, pas sûr offres de json_encode avec cela ou non, mais encore $ JSON le devrait ne pas être json_encode – Val

+0

Merci beaucoup. Je ne l'ai pas remarqué avant. – sunpietro

+0

cela a-t-il corrigé? – Val

Répondre

0

ur encodant deux fois, pas sûr offres de json_encode avec cela ou non, mais encore $ JSON ne doit pas être json_encode

Questions connexes