2010-06-05 56 views
4

如何設置過濾器的值在此處解釋爲link text。我有兩個要求。
1.默認值需要爲空。我期望,如果defaultValue沒有設置,過濾器是空的,但這不是在我的情況發生。
2.如何在我的價值中逃避':'。字符':'和';'用於分離索引和值。但是,在我的值字符串中,它包含一個':'(例如:searchoptions:{value:「1:'Level:1'」},其中Level:1是我的第一個值)。如何逃避:在價值部分。我試過\,/等。JQgrid - 搜索選項(值部分)中的escape':'

謝謝。

編輯:如果沒有其他方式,則可以解決項目1。我可以在值中設置一個附加項ALL,並使用它默認值。

+0

我只想問你我的答案是否能解決你的問題? – Oleg 2010-06-12 13:51:05

回答

4

你是對的,這似乎是不可能使用任何轉義字符的地方:如果你定義它像一個字符串的searchoptionsvalue內:

searchoptions:{value:"1:'Level: 1'"} 

還有的value設置的另一種形式的' searchoptions - 對象形式,也在http://www.trirand.com/jqgridwiki/doku.php?id=wiki:search_config#colmodel_options下描述。例如,您可以使用以下語法

searchoptions:{value:{'1:': 'Level: 1;', ':2:;': 'Level: 2;'}} 

它定義了一個包含文本「級別:1;」的選擇。和「等級:2;」顯示和相應的值「1:」和「:2 :;」。有用。

+0

儘管我從未測試過上述解決方案,因爲我已經採取了另一種方法,我可以將其視爲回答我的問題。感謝您的幫助和時間。 – bsr 2010-06-12 14:01:10

+0

FWIW,官方jqGrid博客指出它現在有一個解決方法,只考慮第一個':'作爲key:value選項的分隔符(在包含選項的';'之間包含的所有文本中。在字符串內部有任意數量的冒號,只有第一個會作爲分隔符。更多信息請點擊http://www.trirand.com/blog/?page_id=393/help/problem-using-colon-in-editoptions-另外,儘管使用一個對象而不是字符串是有效的,但它有缺失列表的始發順序的缺點(它總是根據索引來命令它) – DiegoDD 2016-07-08 18:18:34

+0

@DiegoDD:答案是6歲。 'searchoptions'現在支持兩個屬性:'separator',默認值爲'':''和'delimiter',默認值爲'';如果知道這些值可以包含':',那麼可以指定'separator'帶有替代符號,它不在主值內。 – Oleg 2016-07-08 18:59:36

0

我有同樣的問題,唯一的選擇是使用searchoptions對象。 但是,我不得不以編程方式構建列表,因此我無法使用定義對象。

因此,我決定使用生成列表作爲JSON字符串,然後解析它,如下所示:

searchoptions: { 
 
    value: $.parseJSON("{" + searchSelectFormat.join(",") + "}"), 
 
    sopt: ['eq'] 
 
    }

其中searchSelectFormat處於

格式

'"' + data + '":"' + data + '"';

'''+ item +'「:」'+ item +'「'