2017-04-24 122 views
1

我想保留下拉列表刷新或单击提交页面或回传后选定的值相同。保留并保留提交时的旧下拉列表值并刷新页面

这是Java脚本功能上的变化得到那么下拉列表中选择值把它放在DROPDOWNLIST再次:

$("#Rooms").on('change', function (e) { 
window.localStorage.setItem("Rooms", $("#Rooms option:selected").val()); 
$("#Rooms").val(window.localStorage.getItem("Rooms")); 
}); 

此功能工作刷新页面时,但不工作当我点击提交按钮或行动链接mvc我不知道为什么。

这是我的下拉列表里面形式:

@using (Html.BeginForm("Index", "Home", FormMethod.Get)) 
     { 
     <select id="Rooms" name="Rooms" class="dropdown"> 
     @for (int i = 1; i <= Model.MaximumNumberOfRooms; i++){ 
     <option value="@i">@i</option> 
     } 
     </select> 
    <input type="submit" class="btns" [email protected]_btn_Search /> 
    } 

这是我的控制器:

[HttpGet] 
    [ActionName("Index")] 
    public ActionResult Index_Get() 
    { 
     //checkURL();       

     pageload(); 

     return View(mysession);    
    } 

我尝试了几种方法,但不是我工作的任何建议。 感谢

+0

您需要重新加载你的模型变量在您的文章的行动为好,为他们注入的看法。 –

+0

我不能用javascript或jquery做到这一点 – ahosam

+0

你是如何做这个职位的服务器?通过AJAX?全文? –

回答

0

你需要做的设置分为两个部分,首先你需要的值保存到localStorage的或者我会建议使用的sessionStorage(避免长期保存值):

$("#Rooms").on('change', function() { 
    window.sessionStorage.setItem("Rooms", this.value); 
}); 

然后,你需要若要恢复的价值,但这必须是在文件准备:

$(document).ready(function() { 
    $("#Rooms").val(window.sessionStorage.getItem("Rooms")); 
});