对于jQuery自动完成输入字段,我有一个小的回调函数。该函数有两个参数:输入字段中键入的term=the字符串和生成建议的php脚本的url=the url。
剧本看起来是这样的:
function m(term,url) {
var y = '';
jQuery.get(url, { term:term }, function(data){ });
return y;
}您在文本字段中键入的所有内容都发送到php脚本,该脚本返回建议列表。
在function(data){}块中,应该发生两件事:
y=eval("(" + data + ")");。是这样的吗?从PHP端生成的JSON字符串如下所示(例如term="nur")
"nuri al maliki“、"nursultan nasarbajew”、"n\u00fcrnberger prozess“n\u00fcrnberger是”u00fcrnberger“的编码版本。sun<b>ris</b>e。是否有一种方法可以使用类似于.replace的数组?
应用程序运行在Yii框架下-所以我想找到一个解决方案。
发布于 2011-05-09 13:18:01
发布于 2011-05-09 17:25:27
您可以通过以下方式定义您收到的字符串以JSON的形式出现:
jQuery.get(url, { term:term }, function(data){ }, "json");然后,在回调函数中,遍历接收到的项,用包装的版本替换找到的字符串:
for (i=0, iLen=data.length; i<iLen; i++) {
data[i] = data[i].replace(new RegExp(term), "<b>$1</b>");
}https://stackoverflow.com/questions/5937203
复制相似问题