2017-08-23 42 views
-1

我正在使用typeahead JS在我的控件中设置typeaheads。Ajax Jquery对象不能像JavaScript对象那样工作

代码输入类对象的数组是这样的:

 var companylist2 = [ 
      { word: "Alabama" }, 
      { word: "Alaska" }, 
      { word: "Arizona" }, 
      { word: "Arkansas" }, 
      { word: "California" }, 
      { word: "Colorado" } 
     ]; 


     // Get Company Name Typeahead 
     var states = new Bloodhound({ 
      datumTokenizer: function (d) { 
       return Bloodhound.tokenizers.whitespace(d.word); 
      }, 
      queryTokenizer: Bloodhound.tokenizers.whitespace, 
      limit: 5, 
      local: companylist2 
     }); 

不过,我想,所以我用Ajax的jQuery来填充这样的类对象的数组从我的后端动态设置:

 $(function() { 
      $.ajax({ 
       type: "POST", 
       url: "mypage.aspx/getCompanylist", 
       contentType: "application/json", 
       dataType: "json", 
       success: function (msg) { 
        companylist = msg.d; 
        alert(companylist[0]["word"]); 
        alert(companylist[1]["word"]); 
       } 
      }); 
     }); 

为companylist [0] [“字”]和companylist [1] [“字”]都显示我希望它显示什么,但警报当我改变源到一个从我的JQuery的打字头不起作用

+0

BloodHound允许远程源...请参阅[它们的文档](https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md#remote) –

回答

0

尽量配置在事先键入的内容success

$(function() { 
    $.ajax({ 
     type: "POST", 
     url: "mypage.aspx/getCompanylist", 
     contentType: "application/json", 
     dataType: "json", 
     success: function (msg) { 
      companylist = msg.d; 
      alert(companylist[0]["word"]); 
      alert(companylist[1]["word"]); 

      // Get Company Name Typeahead 
      var states = new Bloodhound({ 
       datumTokenizer: function (d) { 
        return Bloodhound.tokenizers.whitespace(d.word); 
       }, 
       queryTokenizer: Bloodhound.tokenizers.whitespace, 
       limit: 5, 
       local: companylist 
      }); 

     } 
    }); 
}); 

也许CallbackAsynchronous帮助。

+0

将其移入并运行。 。不知道为什么,但是我的公司列表是在$(函数 –

+0

'$ .ajax''' success'函数是一个异步回调函数)之外发起的。参见[回调](https://developer.mozilla.org/en-US/ docs/Glossary/Callback_function)和[Asynchronous](https://developer.mozilla.org/en-US/docs/Glossary/asynchronous)。 – leaf

相关问题