jquery autocomplete:在select中调用另一个webmethod

时间:2013-09-14 16:15:04

标签: jquery autocomplete

在我的应用程序中,我使用jQuery autocomplate来填充文本框和带有id的隐藏字段。 它工作正常。 现在我想根据所选的id提取更多数据。我是jquery的新手,根本没有找到任何其他线程。这是我用来从列表中选择项目的代码

                    select: function (event, ui) 
                {
                    this.value = ui.item.value;
                    $("#" + name).val(ui.item.label);
                    $("#" + idfld).val(ui.item.value);
                    return false;
                }

在这个函数里面我想调用另一个webmethod,它会返回与id相对应的数据。我想根据这些数据填写其他文本框。请帮助任何建议

1 个答案:

答案 0 :(得分:0)

我是通过在同一个字段中获取更多值来实现的 这是代码

.autocomplete(
            {
                source: function (request, response) {
                    $.ajax(
                    {
                        contentType: "application/json; charset=utf-8",
                        url: "../svc/SearchService.svc/GetMatchingVehiclesInfo",
                        data: "VehicleSearchName=" + $("#" + name).val(),
                        type: "GET",
                        dataType: "json",
                        success: function (data) {
                            response($.map(data.GetMatchingVehiclesInfoResult, function (value, key) {
                                return {
                                    label: value.Name, //vehicle name
                                    //below i combined multiple values into same field
                                    value: value.ID + '#' + value.BodyType + '#' + value.FuelType + '#' + value.Seats
                                };
                            }));
                        },
                        error: function (result) {
                            alert("Error");
                        }
                    });
                },
                search: function () {
                    // custom minLength
                    var term = extractLast(this.value);
                    if (term.length < 1) {
                        return false;
                    }
                },
                focus: function () {
                    // prevent value inserted on focus
                    return false;
                },
                select: function (event, ui) {
                    this.value = ui.item.value;
                    $("#" + name).val(ui.item.label);
                    //here i extracted the value using split       
                    $("#<%=hdnVehicle.ClientID%>").val(ui.item.value.split('#')[0]);
                    $("#<%=ddlFueltype.ClientID%>").value = ui.item.value.split('#')[2];
                    return false;
                }

希望对某些人有所帮助。但即使我得到了价值; dropdownlist(ddlFueltype)值没有变化。我试图把它弄清楚