【发布时间】:2016-04-21 09:02:08
【问题描述】:
我使用的是 jqgrid,每当我选中复选框时,该行是可编辑的,但我有 2 个问题:
编辑行后,复选框仍处于选中状态,但我希望在输入回车并保存行时取消选中它..
我想一次点击一个复选框
这是我的代码
dataGrid.prototype = {
display: function() {
var self = this;
var html = [];
var check = 0;
var lastSelection;
html.push("<table id='" + this.id + "" + "'class='table'>\n</table>");
html.push("<div id='pagger_" + this.id + "'></div>");
$('body').append(html.join(""));
$("#" + this.id).jqGrid({
url: "index.jsp",
styleUI: 'Bootstrap',
.....
loadComplete: function() {
$("#" + this.id).on("click", "input[type=checkbox]", function(e) {
var $this = $(this); //this is the checkbox
var rowid = $this.parents('tr').attr('id');
self.editRow(rowid);
});
}
});
},
.....
editRow: function(id) {
var lastSelection;
if (id && id !== lastSelection) {
$("#" + this.id).jqGrid('restoreRow', lastSelection);
$("#" + this.id).jqGrid('editRow', id, {
keys: true,
focusField: 1
});
lastSelection = id;
}
}
};
【问题讨论】:
-
在 loadcomplete 中,
this并不是你想的那样。像使用 self 一样保存一份副本并使用它
标签: javascript jquery checkbox jqgrid