我使用以下代码进行jQuery UI自动完成。
<script>
$(function() {
$( "#city" ).autocomplete({
source: function( request, response ) {
$.post('<?php echo base_url()?>records/get_village_street_town_name', {
SourceLanguage: 'SourceLanguage',
inputVal: $( "#city" ).val()
},
function (data) {
citydata = jQuery.parseJSON( data );
response(
$.each(citydata, function( index, city ) {
return city.cityname;
})
);
});
},
minLength: 2,
});
});
</script>
下面是通过AJAX调用返回的O / P.
[{"cityname":"ABCDE"},{"cityname":"ABDCE"},{"cityname":"ABEDC"}]
问题是城市文本框没有填充AJAX的城市名字?我该如何解决这个问题?
我在下面提到了两个,但没有帮助。
答案 0 :(得分:0)
在您声明为[{"cityname":"ABCDE"},{"cityname":"ABDCE"},,{"cityname":"ABEDC"}]
的示例[{"cityname":"ABCDE"},{"cityname":"ABDCE"},{"cityname":"ABEDC"}]
中,您的某些JSON代码无效且解析器未将其标识为对象。
答案 1 :(得分:0)
工作代码将是
<script>
$(function() {
$( "#city" ).autocomplete({
source: function( request, response ) {
$.post('<?php echo base_url()?>records/get_village_street_town_name', {
SourceLanguage: 'SourceLanguage',
inputVal: $( "#city" ).val()
},
function (data) {
citydata = jQuery.parseJSON( data );
response(
$.map( citydata, function( item ) {
return item.cityname;
})
);
});
},
minLength: 2,
});
});
</script>