【问题标题】:JQGrid Not select row when clicking in a particular cellJQGrid单击特定单元格时不选择行
【发布时间】:2011-05-11 16:45:43
【问题描述】:

在我的 jqgrid 中,我有一个包含链接的单元格。当前当用户单击此链接时,该行被选中(我正在使用多选)我不想要这个, 当用户单击带有链接的特定单元格时,有没有办法不选择该行? 我曾考虑过执行 onCellSelect,然后查看是否选择了当前单元格并将其设置回单击单元格之前的状态。不确定这是否是最好的方法,或者甚至是可能的。我找不到检查是否选择了当前行的方法,也找不到更改是否选择了行的方法。 任何想法都会有所帮助。 谢谢!

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    如果我理解你是正确的,你可以使用 beforeSelectRow 事件处理程序,例如:

    beforeSelectRow: function(rowid, e) {
        var $link = $('a', e.target);
        if (e.target.tagName.toUpperCase() === "A" || $link.length > 0) {
            // link exist in the item which is clicked
            return false;
        }
        return true;
    }
    

    beforeSelectRow 返回false 值将阻止选择行。

    【讨论】:

    • 奥列格,你又一次明确地帮助了我。我惊叹于你的技能和知识。我非常感谢你!...顺便说一句,它工作得很好! :)
    • 当我尝试使用 on 方法订阅此事件时遇到问题。我得到一个不正确的事件目标。会是什么?谢谢!
    • @IgorTimoshenko:最好在新问题中详细描述您的问题。我不明白你为什么需要使用on
    • @Oleg,我在 Backbone.js 视图中使用 jqGrid,我对事件 beforeSelectRow 有自己的方法,所以我在 jqGrid 上的相关事件 jqGridBeforeSelectRow 上进行了描述。
    • @IgorTimoshenko:对不起,我不明白你在“事件 beforeSelectRow 的自己的方法”下的意思。此外,我自己不使用Backbone.js。您能否在新问题中详细说明您的问题。
    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2015-12-18
    • 2011-09-21
    • 2022-06-14
    相关资源
    最近更新 更多