我的Coverage MVC视图中有以下Bootstrap下拉列表。它默认为" Active"状态。选择其他状态时,相关项目将显示在页面上,例如"过去覆盖范围"。
$(".dropdown-menu li a").click(function () {
var selText = $(this).text();
$("#statusButton").html(selText + '<span class="caret"></span>');
我有以下javascript来更改下拉列表的html,所以在这种情况下它会说&#34;过去的覆盖率&#34;。
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/pt_BR/sdk.js#xfbml=1&version=v2.10";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
这样可以正常工作,但在这种情况下,你只能看到&#34;过去的覆盖范围&#34;,一秒钟,因为然后激活href链接,调用MVC Url.Action,页面重新加载和Active再次显示在下拉列表中。如何在下拉列表中保留最近选择的状态?
答案 0 :(得分:1)
您可以使用http://square.github.io/retrofit/进行存储。如果您希望以每页会话为基础进行存储,则可以使用localStorage。
这样的事情应该做..不要忘记在需要时通过调用localStorage.clear();
来清除localStorage。
$(".dropdown-menu li a").click(function () {
var selText = $(this).text();
$("#statusButton").html(selText + '<span class="caret"></span>');
localStorage['selText'] = selText; // store in storage
|);
$(document).ready(function() {
var selText = localStorage['selText'] || 'defaultValue';
if(selText != 'defaultValue') {
$("#statusButton").html(selText + '<span class="caret"></span>'); // Load previously selected item
}
});
我还没有真正做过这样的事情,所以必须有一个比这更好的方法。但这应该有用。