当前位置:  开发笔记 > 编程语言 > 正文

带有可编辑复选框列的jqGrid

如何解决《带有可编辑复选框列的jqGrid》经验,为你挑选了2个好方法。

当使用jqGrid时,如何在页面加载以及单击时强制单元格在其可编辑视图中加载?

如果您设置如下所示的"单元格编辑",则仅在单击单元格时才会显示复选框.

{ name: 'MyCol', index: 'MyCol', editable:true, edittype:'checkbox', editoptions: { value:"True:False" },

cellEdit:true,

另外在点击复选框时,有没有办法立即向服务器发送AJAX帖子而不必依赖用户按Enter键?



1> Justin Ethie..:

要允许复选框始终可单击,请使用复选框格式化程序的disabled属性:

{ name: 'MyCol', index: 'MyCol', 
  editable:true, edittype:'checkbox', editoptions: { value:"True:False"}, 
  formatter: "checkbox", formatoptions: {disabled : false} , ...

要回答第二个问题,您必须为复选框设置一个事件处理程序,这样当单击一个函数时,会调用一个函数,例如,向服务器发送一个AJAX POST.这里有一些示例代码可以帮助您入门.您可以将此添加到loadComplete事件中:

    // Assuming check box is your only input field:
    jQuery(".jqgrow td input").each(function(){
        jQuery(this).click(function(){
            // POST your data here...
        });
    });


太棒了!我希望我能把这标记为选定的答案!
我现在在历史上看到啊.那么在那种情况下,没关系:)

2> AlexCode..:

这是一个旧的,但有很多视图所以我决定在这里添加我的解决方案.

我正在利用JQuery的.delegate函数来创建一个后期绑定实现,使您免于使用loadComplete事件的义务.

只需添加以下内容:

$(document).delegate('#myGrid .jqgrow td input', 'click', function () { alert('aaa'); });

这会将该处理程序延迟绑定到网格行上的每个复选框.如果您有多个复选框列,则可能在此处出现问题.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有