0

我将以下代码用于 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 的城市名称?我怎样才能解决这个问题 ?

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

带有 json 和 ajax 的 JQuery UI 自动完成

使用 jquery ui 自动完成 + ajax json 数据

4

2 回答 2

0

您的某些 JSON 代码无效,解析器未将其识别为对象,在您声明[{"cityname":"ABCDE"},{"cityname":"ABDCE"},,{"cityname":"ABEDC"}]which should be的示例中[{"cityname":"ABCDE"},{"cityname":"ABDCE"},{"cityname":"ABEDC"}]

于 2013-11-04T06:55:12.733 回答
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>
于 2013-11-04T07:46:41.483 回答