0

ここでこれに関する多くの回答を見てきましたが、どれもうまくいかないようです。そして、私はなぜ理解できませんか? jqGrid 4.4.2

データベースからすでにチェックされているボックスの場合:

gridComplete: function() {
    $("input:checkbox:checked").closest('tr').addClass("redBackground");
},

機能しませんが、セルの背景色を変更するclosest('td')だけです!parent()

そしてここに変更があります:

$(document).on('change', "input[type='checkbox']", function(){
    if($(this).is(":checked")){
        $(this).parent().addClass("redBackground"); 
    }else{
        $(this).parent().removeClass("redBackground");  
    }
});

これはセルでは機能しますが、closest('tr')またはに変更すると、parent().parent()行の色は変わりません

私は何が欠けていますか? ...

これは行のグループ化と関係があるのでしょうか?

groupingView : {
        groupField : ['Date'],
        groupColumnShow : [true],
        groupOrder: ['desc'],
        groupDataSorted : true
    },
4

1 に答える 1

3

データに基づいてグリッドの行に色または背景色を設定する最良の方法は、rowattrコールバックを使用することです。答えは例を提供します。使用するアプローチも一般的に機能するはずですが、ゆっくりしてください。background-color典型的な理由は、クラスの定義でのみ指定することですredBackground。jqGrid で使用される標準の jQuery UI クラスは、background代わりに CSS を使用します。したがって、行の背景色を変更するには、background-image: none追加でに設定する必要がありますbackground-color。色を設定するその他のバリエーションについては、 answerに記載されています。

于 2013-08-28T12:56:24.273 に答える