2012-07-24 135 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);  
}