jQuery UI自动完成JSON问题

时间:2013-11-04 05:53:54

标签: javascript jquery ajax json jquery-ui

我使用以下代码进行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的城市名字?我该如何解决这个问题?

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

JQuery UI autocomplete with json and ajax

Using jquery ui autocomplete + ajax json data

2 个答案:

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