我正在尝试使用 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 中。
我想把它当作一个工具来使用,因为有很多页面需要像这样完成。使用相同的技术将节省开发时间。
请告诉我我在这里想念什么。感谢您的帮助:)