我正在尝试使用typeahed twitter进行引导 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>
答案 0 :(得分:11)
这就是我所做的:
var tagStudies = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
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个额外的参数。 如果您复制代码,请务必替换&#39; text&#39;为了价值&#39;在datumTokenizer中。希望它有所帮助