10

使用 Bootstrap 的 typeahead javascript 插件,我试图通过 jQuery 的 $.post 方法更改数据源属性。最初,我有:

<input type="text" data-provide="typeahead" data-source="["Option 1","Option 2","Option 3"]">

然后,假设单击了一个按钮并尝试更新数据源:

 $('button').on('click',function(){
     $.post('update.php',function(resp){
          $('input').attr('data-source',resp);
     });
  });

resp XHR 结果返回如下数组:

  ["One Option","Two Option","Three Option"]

我发现这并不能用响应中构造的新数组可靠地更新数据源。

有谁知道是什么问题?

这似乎没有捕获所选值。有谁知道如何通过 Bootstrap 使用 typeahead 来获取选定的值?

4

1 回答 1

31

我最终想出了如何做到这一点。此处在 github 上进行了概述。

访问预先输入的数据属性并直接修改源数组。例如:

var autocomplete = $('input').typeahead();

//where newSource is your own array
autocomplete.data('typeahead').source = newSource; 
于 2012-03-01T01:12:42.040 回答