Javascript Typeahead引导返回ID和值Json
我需要typeahead的自动完成来处理name字段,当单击项目时,会收集id值Javascript Typeahead引导返回ID和值Json,javascript,php,jquery,json,twitter-bootstrap,Javascript,Php,Jquery,Json,Twitter Bootstrap,我需要typeahead的自动完成来处理name字段,当单击项目时,会收集id值 $('.autocomplete').typeahead({ source: function (query, process) { return $.get('view/_list.php', { query: query }, function (data) { data = $.parseJSON(data); retu
$('.autocomplete').typeahead({
source: function (query, process) {
return $.get('view/_list.php', { query: query }, function (data)
{
data = $.parseJSON(data);
return process(data);
});
}
});
_list.php
[
{
"id":"47",
"nome":"Maril\u00e2ndia"
},
{
"id":"57",
"nome":"Pi\u00fama"
},
{
"id":"71",
"nome":"Sooretama"
}
]
只有当json没有id,只有名称字段时,Autocomplete才起作用,但如果像json示例中那样添加名称字段,则什么都不起作用。控制台中的错误是b。toLowerCase不是函数
您可以在对象上添加所需的所有属性,只要
您可以提供“name”属性,也可以提供自己的显示文本
方法()
:
由于_list.php中的对象中有一个nome
属性,而不是name
属性,因此需要设置displayText
方法:
$.get("_list.php", function(data){
$(".autocomplete").typeahead({ source:data,
displayText : function(item) {
return item.nome;
}
});
},'json');
决心
$('.autocomplet').typeahead({
displayText: function(item) {
return item.nome
},
afterSelect: function(item) {
this.$element[0].value = item.nome;
$("#field_id").val(item.id);
},
source: function (query, process) {
return $.getJSON('_list.php', { query: query }, function(data) {
process(data)
})
}
})
你应该接受我或你的答案()。
$('.autocomplet').typeahead({
displayText: function(item) {
return item.nome
},
afterSelect: function(item) {
this.$element[0].value = item.nome;
$("#field_id").val(item.id);
},
source: function (query, process) {
return $.getJSON('_list.php', { query: query }, function(data) {
process(data)
})
}
})