我有一个带有“活动状态”列的网格,当用户单击刻度时,它变为十字形,反之亦然,以显示真或假状态。如下所示
function colActiveDeactiveTypeFormatter(cellvalue, options, rowObject) {
var retVal;
if (cellvalue) {
retVal = "<div class='btn-gridtick' id='" + rowObject.TypeID + "' onclick='grdType_onActiveDeactive(\"" + rowObject.TypeID + "\")' />";
} else {
retVal = "<div class='btn-gridcross' id='" + rowObject.TypeID + "' onclick='grdType_onActiveDeactive(\"" + rowObject.TypeID + "\")' />";
}
return retVal;
}
我遇到的问题是以下功能。我需要仅在单击保存按钮时才能将状态写入SQL,这是可行的。但是,当我检测到事件处理程序被触发时,该状态如何存储,因为当我返回并第二次单击以停用/激活状态时,它会记住第一次触发的事件的状态,因此当我写到SQL第二次错误输入状态。我在做什么错了?
function grdType_onActiveDeactive(TypeID) {
var element = $(this.event.target);
$(element).toggleClass('btn-gridtick'); // i think the problem is within this statements,but if i remove this piece of code it doesnt toggle my classes
$(element).toggleClass('btn-gridcross');
$('#btnSaveBranch').click(function () {
WCF.juiceAjax.Update(current.ID, parseInt(TypeID, 10), function (result) {
if (result) {
// // alert(result);
$(element).toggleClass('btn-gridtick');
$(element).toggleClass('btn-gridcross');
}
}, siteTools.onWebServiceError);
})
}