1

是否有可能只获得以给定字母开头的结果,而不仅仅是包含它?例如,如果我输入“a”,我只想得到以“a”开头的结果,例如“ape”、“alien”等,而不是例如“banana”。我不想得到包含字母“a”的每个单词!

我正在使用来自 jgeppert (maven groupId: com.jgeppert.struts2.jquery) 的自动完成器插件和标签

<sj:autocompleter name="city" id="selectCity" list="cities" listValue="name" listKey="id" onSelectTopics="autocompleteSelect" />

其中插入一个输入字段。我从包含城市对象的列表对象中获取值。每个对象都有一个 id 和一个名称。

通常,如果您使用的不是 struts2-Plugin 而是 jquery-autocompleter-Plugin,您可以使用

$('#element').autocomplete({
    source: function(request, response) {
        var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i");
        response(select.children("option").map(function() {

         var text = $(this).text();
         if (this.value && (!request.term || matcher.test(text)))
             return {
                 label: text.replace(
                     new RegExp(
                     "(?![^&;]+;)(?!<[^<>]*)(" +
                         $.ui.autocomplete.escapeRegex(request.term) +
                         ")(?![^<>]*>)(?![^&;]+;)", "gi"
                     ), "<strong>$1</strong>"),
                 value: text,
                 option: this
            };
      }));
});

从这个线程得到它:如何:修改 jquery.autocomplete 正则表达式以显示以给定输入开头的结果

但是使用 struts2-Plugin 会自动生成 JavaScript 代码,我不知道是否可以使用上面的示例!

有谁知道如何以这种方式修改struts2-Plugin?

4

0 回答 0