Как бы я изменил это replace / regex из jquery.autocomplete, чтобы оно выделялось только в первом совпадении? - PullRequest
0 голосов
/ 10 февраля 2009

Я не знаю достаточно, чтобы изменить следующее, чтобы оно помещало <strong> вокруг первой найденной строки, соответствующей термину:

highlight: function(value, term) {
    return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\]){1}/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
}

Это из плагина автозаполнения jQuery: http://docs.jquery.com/Plugins/Autocomplete или http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

По умолчанию, если вы введете «a» в поле, следующие результаты будут выглядеть как « A pple A te A nts» и I хочу только " A pple Ate Ants".

1 Ответ

2 голосов
/ 10 февраля 2009

Попробуйте изменить последний «gi» на «i» («g» говорит ему заменить все совпадения).

...