JQgrid - 在searchoptions(值部分)中转义':'

时间:2010-06-05 17:50:04

标签: jqgrid

此处解释了如何设置过滤器的值link text。我有两个要求 1.默认值必须为空。我希望,如果未设置defaultValue,则过滤器为空,但在我的情况下不会发生这种情况 2.如何以我的价值逃避':'。字符':'和';'用于分隔索引和值。但是,在我的值字符串中它包含一个':'(例如:searchoptions:{value:“1:'Level:1'”},其中Level:1是我的第一个值)。如何逃避:在价值部分。我试过\,/等等。

感谢。

编辑:如果没有其他方法,可以解决第1项。我可以在值中设置一个额外的项目ALL,并使用默认值。

2 个答案:

答案 0 :(得分:5)

你是对的,如果你把它定义为一个字符串,似乎不可能使用任何转义字符在value的{​​{1}}内放置':':

searchoptions

还有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;'}}

它定义了一个带有文本“Level:1;”的选择和“等级:2;”显示和相应的值“1:”和“:2:;”。它有效。

答案 1 :(得分:0)

我有同样的问题,唯一的选择是使用searchoptions对象。 但是,我必须以编程方式构建列表,因此我无法使用定义对象。

因此,我决定使用构建列表作为JSON字符串,然后解析它,如下所示:

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

其中searchSelectFormat的格式为

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

'“'+ item +'”:“'+ item +'”'