簡體   English   中英

單擊行時突出顯示Jqgrid,但不要選中多選復選框

[英]Highlight Jqgrid when clicking on row but dont select the multiselect checkbox

在jQgrid中,有沒有一種方法可以單擊行然后將其突出顯示,而無需選中多選行復選框?

我嘗試了Oleg建議的Multiboxonly = true, https://stackoverflow.com/a/3719637/853607

任何幫助將是巨大的,因為這將阻止關鍵項目的進展。

也許您打錯了。 您說的是Multiboxonly:true,但實際上在實現中它是multiboxonly:true。 如果您使用僅JavaScript版本,則此方法應該有效。 如果使用ASP.NEt或PHP之類的包裝器,則應查閱文檔。

親切的問候

這是我的答案,單擊某行而不選中該復選框,但該行被突出顯示-返回false可確保不會觸發onSelectRow。 ps @tony我有小寫的multiboxonly。

beforeSelectRow: function (rowid, e) {
    //debugger;
    rowId = rowid;

    if ($("#jqg__tradesGrid_" + rowid).attr("disabled") || CommentsClicked) {
        CommentsClicked = false;
        return false;
    }

    if (e.target.type == "checkbox") {
        var blnChecked = $(e.target).is(":checked");
        var trElement = jQuery("#" + rowid, jQuery('#_tradesGrid'));

        if (!firstLoadWithRecords) {
            updateIdsOfSelectedRows(rowid, blnChecked);
        }

        if (blnChecked || $.inArray(rowid, idsOfSelectedRows) >= 0) {
            trElement.removeClass('ui-widget-content');
            trElement.addClass('ui-state-highlight');
        } else {
            trElement.removeClass('ui-widget-content');
            trElement.removeClass('ui-state-highlight');
        }

    } else {
        var blnChecked = $(e.target).is(":checked");
        var trElement = jQuery("#" + rowid, jQuery('#_tradesGrid'));

        trElement.removeClass('ui-widget-content');
        trElement.removeClass('ui-state-highlight');

    }


    //TODO: put in the style to chagne to silver when the checkbox is checked
    CommentsClicked = false;
    return false;

},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM