javascript - jqGrid 中调用 jQuery 函数的自定义格式化程序

标签 javascript jquery checkbox jqgrid

我有一个带有自定义格式化程序的 jqGrid,它返回两个复选框:

jQuery(function($){
    $("#gridAgenda").jqGrid({
    ...
    colModel: [
        ...,
        "asiste",
        ...
    ],
    colModel:[
        ...,  
        {name:'asiste',formatter:asisteFormater},
        ...
    ]
    ...
});
}
function asisteFormater (cellvalue, options, rowObject) {
    return "Sí<input type='checkbox' id='asisteSi'/> No<input type='checkbox' id='asisteNo'/>";
}

$("#asisteSi").click(function () {
    ...
}

但是我想在两个复选框中的任何一个被选中时调用一个 jQuery 函数,以评估哪个被选中并调用一个 ajax 函数。我认为问题是,在创建 jqGrid 之前 asisteSi 不存在,所以我不能这样做。

有人可以帮助我吗?

最佳答案

最后我这样解决了:

gridComplete: function () {
        var rowData = $("#gridAgenda").getRowData();             
        for (var i = 0; i < rowData.length; i++) 
        {               
            var asisteSi="#asisteSi"+rowData[i].id;
            var asisteNo="#asisteNo"+rowData[i].id;             
            $(asisteSi).click(function(){           
                var actualSi = "#"+this.id;
                var actualNo = actualSi.replace("asisteSi","asisteNo");                 
                if($(actualSi).prop('checked')){
                    $(actualNo).prop('checked', false);                 
                }
                //TODO:llamada ajax
            });             
            $(asisteNo).click(function(){           
                var actualNo = "#"+this.id;
                var actualSi = actualNo.replace("asisteNo","asisteSi");
                if($(actualNo).prop('checked')){
                    $(actualSi).prop('checked', false);                     
                }
                //TODO:llamada ajax                 
            });
         }
}

问题是 $(asisteSi) 在点击时有最后一个值,所以我必须得到当前的 Id

关于javascript - jqGrid 中调用 jQuery 函数的自定义格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26590560/

相关文章:

javascript - 如何在rails中保存多个复选框值?

jQuery - 按可见性过滤,如果选中

javascript - 动态创建一个 JavaScript 对象

javascript - 如何检测 HTML 元素的类何时更改?

javascript - .buttonset() 在 jQuery 上不起作用

php - jQuery foreach 循环中的删除确认

javascript - Passport "Hello World"总是失败

javascript - Angular.js 客户端高度

javascript - rails : flash[:alert] in if-else misbehaving in JQuery

java - Android - 复选框不响应 FrameLayout 内的点击