autocomplete ajax - 使用指定值更新输入

时间:2014-05-04 08:31:14

标签: ajax json autocomplete

我的自动填充脚本出现问题:

如果我搜索“siegg”的示例,我会收到此信息

it's okay

但是,我不知道文本框中写的完整结果

it's not okay

所以,这就是我想要的:

it's okay

以下是我的javascript代码:

$("#place_RegisterUser").autocomplete({
    source: function( request, response ) {
        $.ajax({
            url: 'webservice.php?method=GetAllAddressData&filter=' + $("#place_RegisterUser").val(),
            dataType: "json",
            data: {term: request.term},
            success: function(data) {
                response($.map(data.Values, function(item) {
                    return {
                        label: item.PlaceZIP + ", " + item.PlaceName + ", Bezirk " + item.CountyName,
                        PlaceZIP: item.PlaceZIP,
                        CountyName: item.CountyName,
                        FederalStateName: item.FederalStateName,
                        CountryName: item.CountryName
                        };
                }));
            }
        });
    },
    minLength: 2,
    select: function(event, ui) {
        $('#zipcode_RegisterUser').val(ui.item.PlaceZIP);
        $('#county_RegisterUser').val(ui.item.CountyName);
        $('#federalstate_RegisterUser').val(ui.item.FederalStateName);
        $('#country_RegisterUser').val(ui.item.CountryName);
    }
});

1 个答案:

答案 0 :(得分:2)

在您的选择回调中添加

$("#place_RegisterUser").val(ui.item.PlaceName);
return false;

http://api.jqueryui.com/autocomplete/#event-select select事件的默认操作是将文本字段的值替换为所选项的值。

从此事件返回false会阻止更新值。所以你需要自己设置。