2010-10-04 55 views
2

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

我在这里读了很多建议,说明我需要实现一个结果处理程序,但是我的智能感知并没有将它作为一个选项显示出来,而且我得到一个JS错误,指出该对象不支持此方法。

我链接到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 */ 

回答

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 
    } 
}); 

我不知道,如果你想在label,在valueid那里,只需使用ui.item.whatever。使用select,无论选择哪个值,您都可以填充#Street2字段。