ajax,php和twitter的bootstrap typeahead

时间:2013-07-21 14:57:22

标签: php jquery bootstrap-typeahead

好吧所以我试图填充twitter的bootstrap的类型,我按照这个答案: Twitter bootstrap Typeahead to populate hrefs

但我一直在接受:

  

未捕获的TypeError:无法调用未定义的编辑组的方法'toLowerCase'?id = 14:239   $ .typeahead.matcher edit-group?id = 14:239

以下是代码:

matcher: function (obj) {
    var item = JSON.parse(obj);
    return ~item.title.toLowerCase().indexOf(this.query.toLowerCase())
},

我查看了网络标签,看看是否得到了正确的数据,我得到了这个:

0: {title:The1Prodigy1, href:1}
href: 1
title: "The1Prodigy1"
1: {title:test_suspend_user, href:4}
href: 4
title: "test_suspend_user"
    2: {title:test_ban_user, href:5}
3: {title:test_delete_user, href:6}
4: {title:user_test_edit, href:7}

最后一个问题,我需要href吗?因为,我想要做的就是帮助用户输入正确的用户名。我不希望它链接到另一个页面或任何东西。这是一种形式......

编辑: 我添加了一个item.title的警报,然后发送回undefined ......为什么会这样?

谢谢, ARA

1 个答案:

答案 0 :(得分:0)

如果你的Typeahead source中的项目是对象,那么你将不得不跳过一些箍。否则,您将收到该错误,因为Bootstrap Typeahead尝试在内部调用toLowerCase()来比较项目,排序项目等。

我不久前发布了一篇关于如何执行此操作的博文:http://victorblog.com/2013/06/21/how-to-use-rich-objects-and-typed-objects-with-bootstrap-typeahead/

我确信你没有覆盖Typeahead的updater函数。