我只是一个初级程序员——用 PHP 和 jQuery 编写。
我试图在我的网站中有一个带有文本框的自动完成字段,当人们开始输入时,它会从用户和相关 ID 号的 PHP 页面中获取结果。
我将它与 tagsinput 结合起来——我基本上希望它像 Gmail——输入某人的名字,然后让他们显示为标签。我需要能够访问数据(尤其是 ID - 因为在选择名称后,我将根据这些 ID 向电子邮件用户编写代码)。
不过,我无法准确理解我需要做什么——我一直对不同的 Typeahead 插件感到困惑——因为我的网站使用 Bootstrap 3。
据我了解 - 我必须使用 bootstrap3-typeahead.min.js 文件才能使用。这包含在我的页面中。
据我所见,大部分工作已经完成——我的 ajax 调用返回了正确的结果,但选项没有按照我的需要显示在屏幕上——我得到一个“TypeError:g is undefined”萤火虫中的错误。
这是我到目前为止的工作(我可以发布任何其他需要的内容):
$('#user_name').tagsinput({
typeahead: {
source: function(query) {
var fetched = $.get('group.php?pa=ajax_get_users&term='+query);
console.log(fetched);
}
}
})
上面引用的页面返回一个 json 编码的名称和 ID 数组,并且似乎可以正常工作。使用萤火虫,我可以看到(例如) - 当我在字段中输入“to”时,它会进行调用并返回以下内容:
[{"label":"Toby Behan","id":"2"},{"label":"Toby Behan","id":"3126"},{"label":"Tommy Streisand","id":"3144"}]
console.log() 函数显示在 Firebug 中返回的有效对象。
我需要做什么才能在下拉和选择方面正确显示?
谢谢你的帮助。