JQuery AutoComplete更新多个字段ASP.NET

时间:2010-10-04 23:34:51

标签: asp.net jquery autocomplete

我正在尝试使用JQuery的AutoComplete功能来更新ASP.NET网页上的多个字段。单个文本框功能完美,但我无法弄清楚如何在用户选择后更新页面上的多个文本框。

我在这里已经阅读了很多建议,我需要实现一个结果处理程序,但是我的intellisense没有显示作为一个选项,IE我得到一个JS错误,说该对象不支持这个方法。 / p>

我正在链接到jquery-1.4.2.min.js和jquery-ui-1.8.5.custom.min.js

这是我的代码:

$(function () {

        $("#Street1").autocomplete({

            source: function (request, response) {
                $.ajax({
                    url: "/address/FindAddress", type: "POST", dataType: "json",
                    data: { startAddress: request.term },

                    success: function (data) {

                        response($.map(data, function (item) {
                            return { label: item.DisplayText, value: item.ValueText, id: item.ID }
                        }))
                    }
                })

            } /* End source: function */

        })
   .result(function (event, data, formatted) {
        $("#Street2").val("test"); 
        })

         /* end Autocomplete */


    });  /* Function */

2 个答案:

答案 0 :(得分:4)

在这种情况下,您需要select handler,如下所示:

$("#Street1").autocomplete({
  source: function (request, response) {
    $.ajax({
      url: "/address/FindAddress", type: "POST", dataType: "json",
      data: { startAddress: request.term },
      success: function (data) {
        response($.map(data, function (item) {
            return { label: item.DisplayText, value: item.ValueText, id: item.ID }
        }));
      }
    });
  },
  select: function( event, ui ) {
    $("#Street2").val(ui.item.label); //or ui.item.value
  }
});

我不确定您是否想要labelvalueid,只需使用ui.item.whatever即可。使用select,无论选择何种值,您都可以填充#Street2字段。

答案 1 :(得分:2)

查看此示例的来源,它正是您想要的(查看select方法):http://jqueryui.com/demos/autocomplete/#custom-data

另外,它是JavaScript,不依赖智能感知。

编辑:我粘贴了错误的链接