我试图在第二个预先输入的远程AJAX调用中使用预先输入的结果。
这是我到目前为止所拥有的:
var result1 = new Bloodhound({
datumTokenizer : Bloodhound.tokenizers.obj.whitespace('result'),
queryTokenizer : Bloodhound.tokenizers.whitespace,
limit : 100,
remote : {
url : 'getResult1.php?q=%QUERY'
}
});
result1.initialize();
$('#input1').typeahead({
minLength : 2
}, {
name : 'result1',
displayKey : 'result',
source : result1.ttAdapter()
}
}).on('typeahead:selected typeahead:autocompleted', function($e, datum) {
$('#input2').typeahead({
minLength : 1
}, {
name : 'result2',
displayKey : 'value',
remote: {
url : 'getResult2.php?q=%QUERY&r=datum['result']'
}
}
我错过了什么?
答案 0 :(得分:0)
似乎第二个输入没有很好地配置Bloodhound对象。必须是这样的:
var result1 = new Bloodhound({
datumTokenizer : Bloodhound.tokenizers.obj.whitespace('result'),
queryTokenizer : Bloodhound.tokenizers.whitespace,
limit : 100,
remote : {
url : 'getResult1.php?q=%QUERY'
}
});
result1.initialize();
$('#input1').typeahead({
minLength : 2
}, {
name : 'result1',
displayKey : 'result',
source : result1.ttAdapter()
}
}).on('typeahead:selected typeahead:autocompleted', function($e, datum) {
var result2 = new Bloodhound({
datumTokenizer : Bloodhound.tokenizers.obj.whitespace('result'),
queryTokenizer : Bloodhound.tokenizers.whitespace,
limit:100,
remote: {
url : 'getResult2.php?q=%QUERY&r=datum['result']'
}
});
result2.initialize();
$('#input2').typeahead({
minLength : 1
}, {
name : 'result2',
displayKey : 'value',
source: result2.ttAdapter()
}
}