我正在数据库中搜索一些项目并获得了json响应。
但我不知道,我的自动完成的哪一部分没有用 当我创建console.log(item)时,我从item获得了这个输出:
Array
(
[0] => Array
(
[objektnummer] => 14720
[anschrift1] => Frau
[anschrift2] => xxxx
[strasse] => Bucxxx
[plz] => 8xxx
[ort] => Pxxxx
[projektstatus] => 3
[erstellungsdatum] => 2014-03-16 12:15:12
[fertigstellungsdatum] => 2014-03-14
)
[1] => Array
(
[objektnummer] => 14778
[anschrift1] =>
[anschrift2] => MFH + TG
[strasse] => Gedxxx
[plz] => 8xxx
[ort] => Ascxxx
[projektstatus] => 1
[erstellungsdatum] => 2014-02-05 12:15:12
[fertigstellungsdatum] => 2014-01-02
)
)
我的错误在哪里? php搜索的响应是correkt。所以带网址的ajax工作正常
$( "#qObject" ).autocomplete({
source: function( request, response ){
$.ajax({
url: $( "#spanqObject" ).data( "url" )
}).success(function(item){
console.log(item);
response(function(item) {
return {
label: item.anschrift2,
value: item.anschrift2
}
});
}).error(function(){
console.log("Mist");
});
},
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.anschrift2 + " aka " + ui.item.objektnummer :
"Nothing selected, input was " + this.value );
}
});
答案 0 :(得分:1)
仍然不确定你要做什么。我想您正在尝试使用自动完成功能从远程位置加载数据,填充下拉列表,然后选择一个值?看起来你正在使用PHP。您是否尝试过PHP Autocomplete?
<?php
$pac = new C_PhpAutocomplete('remote_data');
$pac -> load_remote_data('http://example.com/sample_remote_data.php');
$pac -> display();
?>
<input id="remote_data" type="hidden" />
sample_remote_data.php应该包含带有json编码的数据数组。
<?php
echo json_encode(Array
(
[0] => Array
(
[objektnummer] => 14720
[anschrift1] => Frau
[anschrift2] => xxxx
[strasse] => Bucxxx
[plz] => 8xxx
[ort] => Pxxxx
[projektstatus] => 3
[erstellungsdatum] => 2014-03-16 12:15:12
[fertigstellungsdatum] => 2014-03-14
)
[1] => Array
(
[objektnummer] => 14778
[anschrift1] =>
[anschrift2] => MFH + TG
[strasse] => Gedxxx
[plz] => 8xxx
[ort] => Ascxxx
[projektstatus] => 1
[erstellungsdatum] => 2014-02-05 12:15:12
[fertigstellungsdatum] => 2014-01-02
)
));
?>