2013-09-25 52 views
1

我們有一個MVC3視圖,其中包含多個jqgrid。我現在有兩個按鈕展開和摺疊。在展開按鈕上單擊我需要調整頁面中的所有jqgrid以將其寬度增加100px,並在Collpase按鈕單擊上我需要調整頁面中的所有jqgrid以將其寬度減小100px。有沒有簡單的方法來獲取所有jqGrids使用jQuery而不是給$("#grid1", "#grid2", "#grid3")使用jquery獲取頁面中所有jqgrid的ID號

回答

0

你可以很容易地使用CSS類。添加一個新類說jqgridsClass所有DIV用於jqGrid的,如:

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

現在上面的語句可以降低到僅僅

$(".jqgridsClass") 

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

希望它可以幫助...

0

我ca'nt找到一種方法來獲取所有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/

相關問題