2009-06-23 71 views
0

在我的網站的一部分,我問我的客戶的郵政編碼和國家。一旦他們輸入這些信息並點擊計算鏈接,運費將從另一頁加載。現在,我想刪除點擊按鈕,一旦輸入這些信息,我希望用戶立即看到加載圖像和加載數據。我想知道這是否可能,以及是否有任何例子。jquery加載數據時輸入(而不是點擊)

$(document).ready(function() { 
$("#link").click(function() { 
     $.ajax({ 
      type: "GET", 
      data: { PROCESS: "UPS", WEIGHT: "<%=Session("TotalWeight")%>", POSTALCODE: $(document.getElementsByName("ShippingPostalCode")).val(), COUNTRY: $(document.getElementsByName("ShippingCountry")).val() }, 
      url: "content/checkout/step1/index.cs.asp", 
      success: function(output) { 
      $("#sonuc").html(output); 
      $("#sonuc").css("display", "block"); 
      } 
     }); 
    }); 
}); 

快速更新!我允許我的客戶存儲地址以備將來使用。如果他們有一個地址存儲,他們可以複製並粘貼地址只需點擊一下。下面是該代碼:

function StoredData(){ 
    $.get("includes/ajaxfunctions.asp?Process=checkout1", { QUERY: $(document.getElementsByName("CUSTOMERDETAILNAME")).val() }, function(data){ 
     $("div.StoredData").html(data); 
    }); 
} 

$(document).ready(function() { 
    $("input[name=ShippingPostalCode]").livequery("change", function() { 
     $.ajax({ 
      type: "GET", 
      data: { PROCESS: "UPS", WEIGHT: "<%=Session("TotalWeight")%>", POSTALCODE: $(document.getElementsByName("ShippingPostalCode")).val(), COUNTRY: $(document.getElementsByName("ShippingCountry")).val() }, 
      url: "content/checkout/step1/index.cs.asp", 
      success: function(output) { 
       $("#sonuc").html(output); 
      } 
     }); 
    }); 
}); 

回答

1

我假設你StoredData div包含這些輸入。

通過編寫$("div.StoredData").html(data),您將使用新輸入元素替換輸入中包含事件處理程序的輸入。每次你需要重新註冊你的事件處理程序。

要做到這一點,最簡單的方法是使用jQuery的LiveQuery插件,像這樣:

$("input[name=ShippingPostalCode]").livequery("change", /*your function*/); 

運行這個曾經的負載,一切都應該正常工作。

或者,在運行$("div.StoredData").html(data)之後,您可以在AJAX回調之後重新註冊您的處理程序。

最後,您還可以更改AJAX請求(ajaxfunctions.asp?Process=checkout1)以將數據返回爲JSON而不是包含數據的HTML,並自行更新現有元素的值。這是最快的解決方案。

0
$(document.getElementsByName("ShippingPostalCode")).change(/*your function*/); 
+0

多數民衆贊成在此非常感謝你。我需要知道如何添加一個加載器。 – Efe 2009-06-23 22:36:54

+0

再次打招呼, 剛剛測試過,這種方法對我來說是部分工作。如果客戶有存儲的地址,並且複製/粘貼該信息,則不是其未裝載的運費。我很抱歉,我應該在開始時提到這個功能,但我不認爲它們是相關的。 – Efe 2009-06-23 22:59:03

相關問題