----- // 远程数据源
var prefetch_prjtype = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('dicName'),
queryTokenizer: Bloodhound.tokenizers.whitespace,// 预获取并缓存
remote: {url:'dic/prjType/children/%QUERY',wildcard: '%QUERY',
transform :function(response){
console.log(JSON.stringify(response)); // ***此处返回值为3条记录,但是查询列表中只有2条记录****
return response; }}
//prefetch: 'dic/prjType/children/项目' // ***prefetch数据源显示正常,只有remote时显示不正常****
});
prefetch_prjtype.initialize();
$('#prjType').typeahead({ hint: true,
highlight: true,
minLength: 1 },
{ name: 'prjTypesquery',
displayKey: 'dicName',
source: prefetch_prjtype,
templates: { //这个函数决定下拉列表中的每一行怎么渲染。
suggestion: Handlebars.compile('<p>ID:{{id}} - name:{{dicName}}</p>')
}
}); ------如图, 求大神解答
var prefetch_prjtype = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('dicName'),
queryTokenizer: Bloodhound.tokenizers.whitespace,// 预获取并缓存
remote: {url:'dic/prjType/children/%QUERY',wildcard: '%QUERY',
transform :function(response){
console.log(JSON.stringify(response)); // ***此处返回值为3条记录,但是查询列表中只有2条记录****
return response; }}
//prefetch: 'dic/prjType/children/项目' // ***prefetch数据源显示正常,只有remote时显示不正常****
});
prefetch_prjtype.initialize();
$('#prjType').typeahead({ hint: true,
highlight: true,
minLength: 1 },
{ name: 'prjTypesquery',
displayKey: 'dicName',
source: prefetch_prjtype,
templates: { //这个函数决定下拉列表中的每一行怎么渲染。
suggestion: Handlebars.compile('<p>ID:{{id}} - name:{{dicName}}</p>')
}
}); ------如图, 求大神解答
jQuery(function(){
$("#name").typeahead({
hint: true
},
{
name:'students',
display: 'studentName',
source: function (query, process) {
var resultList=null
$.ajax({
url: 'xxx.do',
type: 'post',
async:false,
data: {query: query},
dataType: 'json',
success: function (result) {
// 这里的数据解析根据后台传入格式的不同而不同
resultList= result;
}
});
resultList=process(resultList);
return resultList;
},
})
我是这样解决的