我正在尝试使用typeahed twitter进行引导
https://github.com/twitter/typeahead.js
https://github.com/twitter/typeahead.js
我需要根据用户输入的内容和ANOTHER参数动态更改远程.
(目标是检索一个国家的城市)
尝试使用country =“en”;不影响它
尝试使用autocompleter.remote =“..”;不起作用.
任何的想法 ?
<script> var country="fr"; var autocompleter = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),queryTokenizer: Bloodhound.tokenizers.whitespace,remote: 'ajax.PHP?action=getVilles&country='+country+'&ville=%QUERY' }); autocompleter.initialize(); $('#city').typeahead(null,{ name: 'city',displayKey: 'city',source: autocompleter.ttAdapter() }); </script>
解决方法
这就是我所做的:
var tagStudies = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),remote: { url: "autocomplete/study",replace: function(url,uriEncodedQuery) { study = $('#study').val(); ssp = $("#social-security").val(); return url + '?q=' + uriEncodedQuery + '&s=' + study + '&ssp=' + ssp },filter: function (parsedResponse) { return parsedResponse.studies; } } });
看看替换功能.第一个参数是url,第二个参数是用户输入的内容.我做了一个串联来传递查询和2个额外的参数.如果您复制代码,请确保在datumTokenizer中将’text’替换为’value’.希望能帮助到你