【问题标题】:jQuery 1.6.3 checkboxes issue in inline edit in jQgridjQgrid 中的内联编辑中的 jQuery 1.6.3 复选框问题
【发布时间】:2011-09-09 08:29:06
【问题描述】:

我刚刚将 jQuery 从 1.6.2 更新到 1.6.3,发现内联编辑在更改后无法正常工作。

我有复选框,如果我取消选中复选框(值 true 切换到 false)并单击保存,该复选框的值在控制器上发布为 true 但实际值​​应该是 false 因为我改变了那。 此外,如果该值为“假”(未选中复选框)并且我将其更改为已选中(true),它就是以这种方式工作的。所以我只是不能从选中到未选中(当我取消选中复选框时,值true 总是发布在服务器上而不是'false')。

当我切换回 jQuery 1.6.2 时,一切都像以前一样工作,复选框没有问题。

我的 jQGrid 版本 4.1.2。

是 jQuery 1.6.3 的错误吗?

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    感谢您的提问!在我的主要客户的一个项目中,使用复选框非常关键。所以我立即重现了这个问题。我的第一个错误修复如下:

    应该将grid.inlinedit.js133 行(在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 的开发人员)。

    【讨论】:

    • 你好,奥列格!我正在使用 jqGrid 4.3.1 和 jQuery 1.7,但我无法让我的复选框值在表单提交时发布。 (我正在使用内联编辑。)在发布完整的 SO 问题之前,我想检查一下我的 jqGrid 和 jQuery 版本是否可以解决这个问题。谢谢!
    • @bflow1: jqGrid 4.3.1 和 jQuery 1.7.x 应该可以毫无问题地协同工作。如果您有问题并认为这是一个错误,您应该发布相应的测试用例,以便其他人可以重现该问题。
    • 奥列格,谢谢。我不认为这是一个 jqGrid 错误。我似乎无法在提交时获得复选框值来发布。这是我的模型:
    • { name: "Checkbox", editable: true, edittype: "checkbox", editoptions: { value: "Y:N", defaultValue: "N" }, formatter: 'yesNoFormatter' }
    • @bflow1:您使用自定义格式化程序yesNoFormatter。为什么将它用作字符串'yesNoFormatter'而不是函数?为什么需要定义自定义格式化程序而不使用预定义的“复选框”格式化程序?此外,我没有看到您在哪里定义了相应的 unformatter?您能否使用 jqGrid 的完整代码、yesNoFormatter 的代码和 testdata 更好地发布新问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多