我刚刚将jQuery从1.6.2更新到1.6.3,并发现内联编辑在更改后无法正常工作。
我有复选框,如果我取消勾选复选框(值true
切换到false
)并点击保存,则该复选框的值会在控制器上显示为true
,但实际值应为false
因为我改变了。
此外,如果值为'false'(未选中复选框)并且我将其更改为选中(true
),则它正在以此方式工作。所以我只是不工作从仅检查到未检查(当我取消选中复选框时,值true
总是发布在服务器而不是'false')。
当我切换回jQuery 1.6.2时,所有工作都像以前一样,没有复选框的问题。
我的jQGrid版本4.1.2。
是jQuery 1.6.3的错误吗?
答案 0 :(得分:2)
谢谢你的提问!在我的主要客户的一个项目中,使用复选框非常关键。所以我立即转载了这个问题。我的第一个错误修复如下:
应该更改grid.inlinedit.js
的行133(版本4.1.2)或jquery.jqGrid.src.js
的行8283
tmp[nm]= $("input",this).attr("checked") ? cbv[0] : cbv[1];
到
tmp[nm]= $("input",this)[0].checked ? cbv[0] : cbv[1];
我认为应该检查更多使用复选框的地方的jqGrid代码,但上面描述的快速修复至少可以解决您所描述的内联编辑中的问题。我稍后会更仔细地检查这个问题,并将我的建议发布到trirand(发给jqGrid的开发人员)。