2011-02-25 45 views
4

我在我的網站上有一個小腳本,它根據4個不同Select元素中選擇的選項計算價格報價。價格報價被寫入到一個分區中,並且在每次選擇的選項有任何變化時更新。在IE8中選擇元素和jQuery CHANGE事件?

這裏是鏈接到這個網頁:http://www.justaddsolutions.com/justaddwebsite/prices/

我用jQuery的change事件處理每一次出現在我的選擇要素的變化,這樣的觸發計算功能:

jQuery("#pages").change(price_quoter); 

而且這裏是我的HTML代碼:

<select id="pages" class="instant_quote" name="pages"> 
<option value="1">1 page</option> 
<option value="2">2 pages</option> 

這適用於Safari和Chrome,但在IE8中無法正常工作。在IE8中,Select元素的更改不會觸發計算功能。

我研究了這個問題,得到了相反的數據 - 有人說,更改jQuery事件在IE8中不起作用,有人說它確實如此。

然後我想使用JS的onChange函數,但也看到它不被IE8支持。

你可以幫助搞清楚如何在所有瀏覽器中使用它。

+0

只是想謝謝大家的響應。我最終中止了該網站,因此從不必回過頭來解決問題並測試建議的解決方案。 – hanazair 2014-02-12 19:33:09

回答

-2

嘗試使用$(「select option」)。click()事件處理程序。

+0

謝謝,但單擊()不會確定是否在所選選項中進行了更改。如果有變化,我只需要更新價格值。 – hanazair 2011-02-25 20:59:32

0

根據我的經驗,jQuery中的'change'事件在IE8中對選擇列表起作用,也許在您的代碼中存在導致此問題的另一個錯誤?

0

試試這個

$("#pages").on("keyup change", function() { 
    // let's make sure the event is not the problem , could be a problem with price_quoter? 
    alert("yay!! pages was changed"); 
    // call your function 
    price_quoter(); 
    // do stuff here 
}); 

,如果您使用的是舊版本的jQuery,你可能需要使用「綁定」,而不是「對」

$("#pages").bind("keyup change", function() { 
    // let's make sure the event is not the problem , could be a problem with price_quoter? 
    alert("yay!! pages was changed"); 
    // call your function 
    price_quoter(); 
    // do stuff here 
});