单击禁用的prev和next pager时选择了Jqgrid行

时间:2013-11-25 06:54:46

标签: jquery jqgrid

我正在使用jqgrid,我面临一个奇怪的问题

我在网格中有十条记录,所以我禁用了寻呼机NEXT和PREVIOUS按钮。现在单击禁用的NEXT和PREVIOUS按钮,然后逐个单击记录,每次单击下一个和上一个按钮后,gird中的多行将被选中,这不应该发生

如何避免此行为,是否有人已解决此问题

请让我知道。

2 个答案:

答案 0 :(得分:1)

如果您只需要一个始终单选的网格。这可能会有所帮助:

    beforeSelectRow: function(id){
        $('#grid tr.ui-state-highlight').removeClass('ui-state-highlight');
        $('#grid tr#' + id).addClass('ui-state-highlight'); 
    },

答案 1 :(得分:1)

你是对的!这是jqGrid中的一个错误。至少可以在IE浏览器中点击已禁用按钮。稍后在jqGrid中处理此类点击会将selrow设置为null。如果选择下一行,之前单击禁用的寻呼机按钮后,jqGrid仅从ID为ui-state-highlight的行中删除selrow类。由于参数selrow现在具有null值,因此在使用默认multiselect: false选项的情况下,其中一个选项将更多。

可以通过添加行

来修复错误
if ($(this).hasClass("ui-state-disabled")) { return false; }

作为在寻呼机按钮上注册的点击事件处理程序的第一行(the line之后,版本4.5.4的jquery.jqGrid.src.js中的数字为2107)。

我将here相应的错误报告发布到trirand。