我有一个带有自定义格式化程序的 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/