Twitter Typehead,列出对象数组

时间:2015-06-15 04:45:06

标签: javascript jquery arrays twitter

我在使用带有对象数组的Twitter Typehead时遇到问题。

请在此处查看JSBin http://jsbin.com/buyudaq/edit?html,js,console,output

以下是序列化对象数组

var phoneNumbers = 
{
  "data": [
    {
      "phone": "+1 (923) 562-3211"
    },
    {
      "phone": "+1 (924) 431-3216"
    },
    {
      "phone": "+1 (932) 411-2223"
    },
    {
      "phone": "+1 (857) 584-3623"
    },
    {
      "phone": "+1 (914) 472-3779"
    },
    {
      "phone": "+1 (876) 554-3637"
    },
    {
      "phone": "+1 (916) 537-3873"
    }
  ]
};

1 个答案:

答案 0 :(得分:0)

我修改了你的代码,而不是传递一个对象,将一个数组传递给' local'选项应该做的工作。 由于您的源是一个对象数组,因此最好通过添加' display'来指定要显示的属性值。选项。

var phones = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('phone'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    identify: function(obj) { return obj.phone; },
    local: phoneNumbers.data });

$('.typeahead').typeahead({
 hint: true,
 highlight: true,
 minLength: 1 },{
 name: 'phones',
 source: phones,
 display: 'phone' });