Cannot read property 'field' of undefined (at _8 (jquery.numberbox.js:33))
问题描述:
页面端用了easyui的numberbox属性,然后在用js的方法修改值的时候,明明看到页面中的值是数字型(数量字段),
但是就是会报错
这种错误真的是很难理解,不过经过我的debug跟了一下,发现了问题所在,虽然页面中看到的是数字,但是在js代码中,赋值的时候,这个变量成了string类型了
很明显的发现,这个ProductQty的值是string了。
function ProductQty(newValue,oldValue) { if(newValue && oldValue && newValue != oldValue) { var row = $('#gridlist').datagrid('getSelected'); var index = $('#gridlist').datagrid('getRowIndex',row); row.ProductQty = newValue; row.SalePrice = row.ProductQty * row.OriginalPrice * (row.DiscountRate / 10); $('#gridlist').datagrid('updateRow', {index: index, row: row}); $('#gridlist').datagrid('endEdit',index); $('#gridlist').datagrid('beginEdit',index); countPoint(); } }
文件里标红的部分,发现了这个row对象里的ProductQty这个值变成了string类型了。
解决办法就是给这个转成Number即可
row.ProductQty = Number(newValue);