1

我正在尝试使用 jquery 在页面加载时在 jqxgrid 中显示数据库,但屏幕什么也没有显示。

我有几个页面可以应用这种技术,其中一个页面我已经设法使用 javascript 做到了。然后第二页使用 jquery 完成。但是在第三页(也使用 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