Я довольно новичок в скрипте java, и я использовал библиотеку автозаполнения от Awesomplete и использовал ее для нескольких значений, где автозаполнение для слов будет отображаться при разделении запятой, что работает нормально.
Работа с автозаполнением для нескольких слов, разделенных запятыми
Сценарий
function f(){
alert("called");
var input = document.getElementById("myinput");
new Awesomplete(input, {
filter: function(text, input) {
return Awesomplete.FILTER_CONTAINS(text, input.match(/[^,]*$/)[0]);
},
item: function(text, input) {
return Awesomplete.ITEM(text, input.match(/[^,]*$/)[0]);
},
replace: function(text) {
var before = this.input.value.match(/^.+,\s*|/)[0];
this.input.value = before + text + " , ";
}
});
}
Теперь я хочу сделать То же самое, когда я использую слова с пробелом, он должен предлагать автозаполнение для слов, разделенных пробелами. Например: мне нужно выполнить автозаполнение для «Мое имя - Джон» вместо «Мое, Имя, Иоанн».
Я пытался с
function f(){
alert("called");
var input = document.getElementById("myinput");
new Awesomplete(input, {
filter: function(text, input) {
return Awesomplete.FILTER_CONTAINS(text, input.match(/[^,]*$/)[0]);
},
item: function(text, input) {
return Awesomplete.ITEM(text, input.match(/[^,]*$/)[0]);
},
replace: function(text) {
var before = this.input.value.match(/^.+,\s*|/)[0];
this.input.value = before + text + " "; //tried using space as delimiter
}
});
}
Но он показывает автозаполнение только для первого слова, так как я могу заставить это работать?