easyui中datagrid不載入問題
今日遇到一個奇怪問題,datagrid就是不載入,debug看了一下,觸發物件貌似不正常。使用jquery或者dom去查詢元素都找不到,但是easyui也不報undifined異常,很是奇怪。
問題出現環境:頁面三層結構,第一層是一個datagrid,點選其中連結通過新建window進入第二層,第二層包含普通form元素,點選連結通過新建window進入第三層,在第三層使用datagrid時出現問題。。
程式碼如下:
第一層:
_pidT.val(pid);
_makerIdT.val(makerId);
_productInfoWindow.window({
title:'商品詳情',
href:productUrls.productInfo,
fit:true,
minimizable:false,
maximizable:false,
collapsible:false,
draggable:false,
resizable:false,
onClose:function(){
_productInfoWindow.window('destroy');
}
});
第二層:
_skuListWindow.window({
title:'商品庫存',
href:productInfoUrl.skuList,
width:800,
height:500,
modal : true
minimizable:false,
maximizable:false,
collapsible:false,
draggable:false,
resizable:false,
onClose:function(){
_skuListWindow.window('destroy');
}
});
第三層:
html:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<body>
<tableid="skuGrid"></table>
<scripttype="text/javascript"src="/daojia-oms/resources/js/product/sku_list.js"></script>
</body>
</html>
js:
_skuGird.datagrid({
method : 'post',
url : skuUrls.listSku,
queryParams : {'pid' : _pidT.val()},
cache : false,
striped : true,
columns : [[
{
title : '顏色',
field : 'color',
width : '15%'
},{
title : '尺寸',
field : 'size',
width : '15%'
},{
title : '成本價',
field : 'price',
width : '15%'
},{
title : '庫存',
field : 'amount',
width : '15%'
},{
title : '狀態',
field : 'status',
width : '20%',
formatter : function(value,row,index){
var result = '';
if(0 == value){
result = "已上架";
}else if(1 == value){
result = "已下架";
}
return result;
}
}
]],
loadFilter : function(data){
return data;
}
});
問題解決辦法:既然找不到觸發元素,那就先找到他:var _skuGird = $("#skuListWindow table:eq(0)"); (直接通過id竟然抓不到,只好換種方式),問題暫時解決。
疑惑:1.datagrid找不到觸發元素,為什麼沒報錯;2.通過id為什麼抓不到元素(懷疑與使用window新開頁面有關)