Javascript jQuery UI自动完成JSON问题

Javascript jQuery UI自动完成JSON问题,javascript,jquery,ajax,json,jquery-ui,Javascript,Jquery,Ajax,Json,Jquery Ui,我使用以下代码实现jQueryUI的自动完成 <script> $(function() { $( "#city" ).autocomplete({ source: function( request, response ) { $.post('<?php echo base_url()?>records/get_village_street_town_name', { SourceLanguage: 'S

我使用以下代码实现jQueryUI的自动完成

<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>
问题是city文本框中没有填写来自AJAX的citynames?我怎样才能解决这个问题

我在下面提到了两个,但没有帮助


您的一些JSON代码无效,解析器没有将其识别为对象,在您声明的示例中,
[{“cityname”:“ABCDE”},{“cityname”:“ABDCE”},,,{“cityname”:“ABEDC”}]
应该是
[{“cityname”:“ABCDE”},{“cityname”:“ABDCE”},{“cityname”:“ABEDC”},{cityname:“ABEDC”}

工作代码将是

<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>

$(函数(){
$(“#城市”).autocomplete({
来源:功能(请求、响应){
$.post('records/get\u village\u street\u town\u name'{
SourceLanguage:“SourceLanguage”,
输入值:$(“#城市”).val()
},
函数(数据){
citydata=jQuery.parseJSON(数据);
回应(
$.map(城市数据、功能(项目){
return item.cityname;
})
);
});
},
最小长度:2,
});
});

尝试
$。映射
而不是
$。每个
都可以。感谢您提供的信息,无需使用$.map(),也无需进行数据操作。。。
data
是一个对象数组吗?如果您能告诉我问题在哪里is@ArunPJohny,非常好。我甚至从来没有看过那个函数体P
<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>