2012-07-24 177 views
2

我有這樣的形式:jQuery的設置選擇的選項

<form action="" method="post"> 
    <select name="weeks" id="weeks"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
     <option value="5">5</option> 
     <option value="6">6</option> 
     <option value="7">7</option> 
     <option value="8">8</option> 
     <option value="9">9</option> 
     <option value="10">10</option> 
    </select> 
<input type="submit" value="Submit" /> 
</form> 

我如何設置一個選項,選擇當表單重載?例如,如果我選擇6,它將在重新加載時選擇選項6,然後如果我將它切換到2,它將在重新加載時選擇2?

+0

你會想一些JavaScript來保存當前選定的選項的localStorage或一個cookie,然後檢索該值在頁面加載時 – 2012-07-24 11:55:11

+0

一後發送一個新的頁面 - 你將不得不做一些事情服務器端來處理返回一個選定的值 - 所以你需要提供您的服務器端框架的細節,以獲得答案 – BonyT 2012-07-24 11:55:13

+1

你可以使用jQuery cookie:http://archive.plugins.jquery.com/project/Cookie - 將值存儲在cookie中 – 2012-07-24 11:56:39

回答

1

如果你想要一個持久的行爲,你應該保存選擇的狀態。
您可以將其保存在服務器端(db或session)或客戶端(cookie或localStorage)。

在客戶端上保存我建議使用HTML5的localStorage所以只保存選定指數(或任何你需要的)那裏,每次需要重新加載頁面只取有選擇的指數和改變的情況下,選擇。
這裏是一個示例如何保存並獲得客戶端的變量:

function getFoo() { 
    var foo = localStorage.getItem('foo'); 
    if (!foo) { 
    setFoo([defaults value]); 
    return getFoo(); 
    } else return foo; 
} 

function setFoo(foo) { 
    localStorage.setItem('foo', foo);  
}