jqgrid - JQgrid复选框onclick更新数据库

标签 jqgrid

我的JqGrid中有一个复选框列,该复选框列是从数据库加载的,因此在加载时它是选中的还是未选中的。

我想要的是:如果复选框被用户选中或取消选中,我想同时更新数据库。我不希望用户按Enter或其他任何东西。只需单击一下即可将操作发送到数据库

名称:“Aktiv”,索引:“Aktiv”,宽度:100,编辑类型:“复选框”,对齐:“居中”,格式:“复选框”,可编辑:true,格式选项:{disabled:false}

最佳答案

您可以在click内设置loadComplete事件处理程序:

loadComplete: function () {
    var iCol = getColumnIndexByName ($(this), 'Aktiv'), rows = this.rows, i,
        c = rows.length;

    for (i = 1; i < c; i += 1) {
        $(rows[i].cells[iCol]).click(function (e) {
            var id = $(e.target).closest('tr')[0].id,
                isChecked = $(e.target).is(':checked');
            alert('clicked on the checkbox in the row with id=' + id +
                '\nNow the checkbox is ' +
                (isChecked? 'checked': 'not checked'));
        });
    }
}

在哪里
var getColumnIndexByName = function(grid, columnName) {
    var cm = grid.jqGrid('getGridParam', 'colModel'), i, l;
    for (i = 1, l = cm.length; i < l; i += 1) {
        if (cm[i].name === columnName) {
            return i; // return the index
        }
    }
    return -1;
};

您应该使用jQuery.ajax而不是alert将有关更新复选框状态的信息发送到服务器。

您可以看到一个演示here

关于jqgrid - JQgrid复选框onclick更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7208412/

相关文章:

jquery - Asmx Web 服务返回 xml 而不是 json,尝试从服务输出中删除 <string xmlns ="http://tempuri.org/">

jqGrid treegrid,以编程方式扩展节点

javascript - 将 JqGrid 列模式显示为日期和超链接显示 NAN/NAN/NAN

jquery - jqgrid禁用默认客户端排序并手动处理

jquery - 固定卡住列的行高jqgrid 4.6

jqgrid - jqGrid DatePicker过滤而不点击Enter键

javascript - 在jqgrid中调用自定义格式化程序不起作用

javascript - jqGrid 在 RTL 方向的错误滚动位置

grails - Grails JQGrid 4.0

jquery - 在Asp.net mvc中的jqGrid中添加自己的搜索参数