1

我已经搜索了很多时间,但没有结果。我正在尝试使用 Jquery UI 自动完成插件。我正在使用组合框模式(此处提供的示例:http: //jqueryui.com/demos/autocomplete/#combobox)。根据我的理解,更改此代码(来自示例)

var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i" );

有了这个

var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i" );

确保我将通过第一个单词中的第一个字母自动完成。但是,假设我有一系列这样的选项:

<option value="">Auto Skin</option>
<option value="">Score</option>

并输入字母's',它将自动仅显示“分数”选项。

我怎么能改变正则表达式来获得这两个结果,因为选项“自动皮肤”有“皮肤”这个词也以字母's'开头?谢谢!

4

1 回答 1

2

代替^匹配字符串开头的正则表达式模式,使用正则表达式模式\b来匹配单词边界。

var matcher = new RegExp("\\b" + $.ui.autocomplete.escapeRegex(request.term), "i" );

更多信息在这里

于 2012-09-04T18:07:16.047 回答