У меня есть небольшая функция обратного вызова для поля ввода автозаполнения jQuery.
Функция имеет 2 параметра: term = строка, введенная в поле ввода, и url = URL-адрес скрипта php, который генерирует предложения.
Сценарий выглядел так:
function m(term,url) {
var y = '';
jQuery.get(url, { term:term }, function(data){ });
return y;
}
Все, что вы вводите в текстовое поле, отправляется в скрипт php, который возвращает список предложений.
Внутри блока function(data){}
должны произойти две вещи:
кодирует строку JSON в массив (который необходим автозаполнению JQuery в качестве возвращаемого значения). Я попробовал это: y=eval("(" + data + ")");
. Это правильно?
Строка JSON, генерируемая со стороны PHP, выглядит следующим образом (пример для term = "nur")
["nuri al maliki", "nursultan nasarbajew", "n \ u00fcrnberger prozess"]
n \ u00fcrnberger - это закодированная версия "nürnberger"
Выделите термин внутри предложенного слова. Пример: входное значение равно «ris», поэтому пример подсказки должен выглядеть примерно так: sun<b>ris</b>e
.
Есть ли способ использовать что-то вроде .replace
для массива?
Приложение работает в среде Yii - поэтому я хотел бы найти решение для этого.