1

複数の jqgrid を含む MVC3 ビューがあります。これで、Expand と Collapse の 2 つのボタンができました。[展開] ボタンをクリックすると、ページ内のすべての jqgrid のサイズを変更して幅を 100px 増やし、[Colpase] ボタンをクリックすると、ページ内のすべての jqgrids のサイズを変更して幅を 100px 減らす必要があります。与える代わりに jquery を使用してすべての jqGrids を取得する簡単な方法はあります$("#grid1", "#grid2", "#grid3")か?

4

2 に答える 2

0

cssクラスを使えば簡単にできます。次のように、jqGrid に使用されるすべての div に jqgridsClass という新しいクラスを追加します。

<div id="grid1" class="jqgridsClass">
<div id="grid2" class="jqgridsClass">
<div id="grid3" class="jqgridsClass">

今、上記のステートメントは単なるものに減らすことができます

$(".jqgridsClass")

から

$("#grid1", "#grid2", "#grid3")

それが役に立てば幸い...

于 2013-09-25T11:09:51.910 に答える
0

すべての jqGrid インスタンスを取得する方法が見つかりません。ただし、定義時に各 jqGrid インスタンス参照を配列に追加できます。

配列を繰り返し処理すると、各グリッド インスタンスが作成され、自分の作業を行うことができます。

コード:

var $grids = $("#grid1, #grid2, #grid3").jqGrid({
    datatype: "local",
    height: 250,
    colNames: ['Inv No', 'Thingy', 'Blank', 'Number', 'Status'],
    colModel: [{
        name: 'id',
        index: 'id',
        width: 60,
        sorttype: "int"
    }, {
        name: 'thingy',
        index: 'thingy',
        width: 90,
        sorttype: "date"
    }, {
        name: 'blank',
        index: 'blank',
        width: 30
    }, {
        name: 'number',
        index: 'number',
        width: 80,
        sorttype: "float"
    }, {
        name: 'status',
        index: 'status',
        width: 80,
        sorttype: "float"
    }],
    caption: "Stack Overflow Example",
    // ondblClickRow: function(rowid,iRow,iCol,e){alert('double clicked');}
});

$("#resizeMe").click(function () {
    $($grids).each(function (index) {
        $(this).jqGrid('setGridHeight', "20px");
    });

});

デモ: http://jsfiddle.net/IrvinDominin/XQmgK/

于 2013-09-25T11:11:38.787 に答える