2014-05-03 49 views
0

我該如何設置這個javascript,一旦選擇菜單選項已被改變,然後模擬一個頁面刷新後,就像我選擇一個選項然後按CTRL + R它將刷新頁面,但保持選擇,然後如果我再次執行相同的過程並刷新。.change()在選擇被更改之後做一個頁面刷新,就像CTRL + R

但我不希望用戶做到這一點我希望它使用.change()方法自動執行此操作。

$("#select-options").change(function(){ 
    selectedValue = $(this).val(); 
    var p = selectedValue.indexOf("£"); 
    rest = selectedValue.substring(p+1); 
    $(".item").attr("data-price",rest)}).change(); 

回答

2

由於您是以編程方式觸發事件,因此您必須區分用戶更改和您自己的更改。在事件回調中檢測originalEvent就足夠了。

$("#select-options").change(function(e) { 
    selectedValue = $(this).val(); 
    var p = selectedValue.indexOf("£"); 
    rest = selectedValue.substring(p+1); 
    $(".item").attr("data-price",rest); 

    if(e.originalEvent) { 
     window.location.reload(); 
    } 
}).change(); 
+0

您的傳奇!甜,像一種享受!,謝謝你的傢伙。 –

+0

正如你可能猜到我知道所有的jQuery/Javascript,我可以閱讀它,並理解它只是不能寫它!這是我的學習清單!..... –

+0

不用擔心,我們都從某個地方開始。快樂的編碼! – Syntax

2

好老的JavaScript(雖然我不知道你爲什麼會想這樣做完全一致):

window.location.reload(); 

我不知道是不是所有的瀏覽器將讓您的選擇,雖然。對我而言,它適用於FF和Chrome。

+0

是的嘗試,但它不斷刷新.... 我只是希望它刷新一次新的選擇已經取得進展。 –

+0

這可能是因爲您每次加載頁面時觸發更改事件(.change())。 – fjc

+0

那麼我該如何解決這個問題? –