easyui中datagrid不加载问题

在三层窗口结构中,第三层的datagrid无法加载,虽然jQuery和DOM查找都未找到元素,但EasyUI未抛出undefined异常。问题出现在通过window新建页面的第三层。通过修改代码,使用`$("#skuListWindow table:eq(0)")`找到datagrid元素,解决了问题。疑问在于datagrid未报错及通过ID无法获取元素的原因可能与window新页面有关。

今日遇到一个奇怪问题,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:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<body>

<table id="skuGrid"></table>



<script type="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新开页面有关)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值