2010-10-04 66 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字段。