我有以下 JQGrid
$("#proposalsTable").jqGrid({
url: url,
datatype: 'json',
mtype: 'GET',
altRows: false,
colNames: ['Model', 'Model Year', 'Cabinet', 'Shell', 'Customer', 'Designed By', 'Date'],
colModel: [
{ name: 'Model', index: 'Model', align: 'left' },
{ name: 'ModelYear', index: 'ModelYear', align: 'left' },
{ name: 'CabinetColor', index: 'CabinetColor', align: 'left' },
{ name: 'ShellColor', index: 'ShellColor', align: 'left' },
{ name: 'CustomerName', index: 'CustomerName', align: 'left' },
{ name: 'DesignedBy', index: 'DesignedBy', align: 'left' },
{ name: 'ProposalDate', index: 'ProposalDate', align: 'left' },
],
pager: jQuery("#proposalsPager"),
rowNum: 50,
rowList: [50, 75, 100],
sortname: 'ProposalDate',
sortorder: "desc",
viewrecords: true,
height: '700px',
multiselect: true,
autowidth: true,
shrinkToFit: true
});
当我浏览并选中复选框时,复选框被选中,并且行颜色显示它已被选中...但是如果我返回并单击该行(而不是复选框)该行颜色显示未选中,但复选框保持选中状态。 如果我运行代码来查看此时是否确实进行了检查。他们不是。但如果我返回并选中复选框,行就会被取消选择,尽管复选框显示为选中状态。但是,如果我运行代码来查看它,网格会认为这些行未被选中。非常非常非常奇怪。 我怎样才能使单击行不执行任何操作,或者确保它们实际上取消选中复选框。 我希望这是有道理的。 谢谢!
最佳答案
我的方法是在选项中实现一个函数来覆盖 onSelectRow
事件。这需要一个 rowId 和一个状态参数。
从那里,您可以根据 rowId 操作该行。
参见http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events有关可用事件以及如何覆盖它们的更多信息。注意:如果您覆盖并返回 false,则默认事件处理程序不会触发。
关于jquery - 单击行时 JQGrid MultiSelect 复选框不会取消选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5954559/