2010-09-24 72 views
1

我有一個場景,我必須以編程方式在jqGrid中選擇一行。如何搜索一個行,然後在jqGrid中選擇它?

從一個函數我將有一個列在jqGrid中可用的值,並基於傳遞列的值我必須在jqGrid中搜索,當它發現記錄匹配時,我必須選擇該行。

不知道如何實現這個使用jQuery爲我的jqGrid。

更新:

您提到的解決方案搜索第3列(不區分大小寫)。我想知道是否有任何方法使用正則表達式搜索網格中的任何列(包括隱藏的列)以及不區分大小寫的搜索?

回答

5

這個問題是接近我最近的另一個問題,我answered。區別在於您要搜索選定的列。對於區分大小寫的搜索,你可以使用下面的代碼

var index = 3; 
var str = 'b'; 
$("#list > tbody > tr > td:nth-child("+index+"):contains('" + str + "')").parent(); 

對於不區分大小寫的搜索代碼可能看起來像

var index = 3; 
var str = 'b'; 
var cells = $("#list > tbody > tr > td:nth-child(3)").filter(function() { 
       return re.test($(this).text()); 
      }); 
var rows = cells.parent(); 

它採取考慮到的jqGrid有列之前,有時會附加列是很重要的聲明在colModel。這是'rn'列包含行號。如果您使用jqGrid的rownumbers: true選項,它就存在。在您使用選項multiselect: true時,還有'cb'列帶有複選框。你可以在$('#list').jqGrid('hideCol', 'cb');方面隱藏該列,但是你也應該在那裏計算。一般來說,你應該計算所有隱藏的列。

你可以看到所有住在以下小demo

+0

有什麼方法可以搜索並獲得完全匹配?不只是包含?! – AminSaghi 2013-06-06 10:45:01

+0

您也可以使用'filter'進行精確匹配。 – Oleg 2013-06-06 12:32:53

相關問題