我有以下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
});
当我查看复选框并选中复选框时,行颜色显示已选中...但如果我返回并只是单击该行(不在复选框上)该行颜色显示未选中但复选框保持选中状态。 如果我运行代码以查看此时是否确实检查过。他们不是。但是我回过头来检查行取消选中的复选框,虽然复选框显示了一个检查。但是如果我运行代码来查看它,网格会认为没有选择行。非常非常奇怪。 如何使点击行无效,或确保它们确实取消选中复选框。 我希望这是有道理的。 谢谢!
答案 0 :(得分:1)
我的方法是在您的选项中实现一个函数来覆盖onSelectRow
事件。这需要一个rowId和一个状态参数。
从那里,您可以根据rowId操作行。
有关可用事件以及如何覆盖它们的详细信息,请参阅http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events。注意:如果覆盖并返回false,则不会触发默认事件处理程序。
答案 1 :(得分:1)
我发现了这个问题,只是想把它放在这里给其他人。
我强迫它使用jquery 1.4.4
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js" type="text/javascript"></script>
而不是获取最新版本
这解决了我上面遇到的问题。