0

在我的应用程序中,我使用 jQuery 自动完成来填充文本框和带有 id 的隐藏字段。它工作正常。

现在我想根据选择的 id 提取更多数据。我是 jQuery 新手,找不到任何其他基于此的线程。这是我用于从列表中选择项目的代码

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

在这个函数中,我想调用另一个 web 方法,它将返回与 id 对应的数据。我想根据这些数据填充其他文本框。

4

1 回答 1

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)价值也不会改变。我试图弄清楚。

于 2013-09-15T08:08:00.457 回答