2010-06-05 61 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 +'“'