1

jqueryを使用してページロード時にjqxgridにデータベースを表示しようとしていますが、画面には何も表示されません。

この手法を適用するページがいくつかありますが、そのうちの 1 つは JavaScript を使用してそれを行うことができました。次に、2 ページ目は jquery を使用して作成します。しかし、3 番目のページ (これも jquery を使用) では、何も得られません。

これは、view_page.php の jquery です。

<html>.... //view_page./
$(document).ready(function () {
 var param = '<?php echo $formdata->doc_num;?>';
 var array_grid_key = <?php echo json_encode($v_arrayGridKey2);?>;
 $.ajax({
  url:"<?php echo base_url('index.php/px/pxq/sel_head');?>/"+param,
  dataType: "json",
  success:function(result){
    var dataFields = new Array();   
    $("#ajax").html(result);                
    for(var i = 0;i<array_grid_key.length;i++){
      var obj = {name: array_grid_key[i]};
      dataFields.push(obj);
    }       
    var source = {
      datafields: dataFields,
      localdata: result
    };
    var dataAdapter = new $.jqx.dataAdapter(source);
    dataAdapter.dataBind();

    var dataSource = {
      datafields: dataFields,
      localdata: result
    };
    var adapter = new $.jqx.dataAdapter(dataSource);
    $("#data_grid").jqxGrid({ source: adapter });       
  }
 });
});
....</html>

これはコントローラーです:

public function sel_head($code){
  $this->load->model('px');
    $this->data['ajax'] = $this->px->querying(  
    'select t3.code as \'code\', t3.name as \'name\', t2.item_d1 as \'item_d1\', t2.item_d2 as \'item_d2\',t2.item_qty as \'item_qty\', t2.item_price as \'item_price\', t2.item_disc_pct1 as \'item_disc_pct1\', t2.item_disc_pct2 as \'item_disc_pct2\',          t2.item_netprice as \'item_netprice\', t2.item_total as \'item_total\'          
        from spurc_h t1 
          inner join spurc_d t2 on t1.doc_id = t2.doc_id 
      inner join sttem_m t3 on t2.id = t3.id 
      inner join sbuss t4 on t4.buss_code = t1.buss_code
      where doc_num = \''.$code.'\''
    );
  echo json_encode($this->data['ajax']);
}

最も紛らわしいのは、2 ページ目では機能するのに 3 ページ目では機能しない理由です。

Chrome 開発者ツールは、クエリ結果が期待どおり (json 形式) に返されることを示していますが、上記の jquery を使用して jqxgrid に配置することはできません..

このように多くのページを作成する必要があるため、ツールとして使用したいと考えています。同じ手法を使用すると、開発時間が節約されます。

私がここで見逃しているものを教えてください..あなたの助けに感謝します:)

4

0 に答える 0