我已经尝试下拉选择的值,但是当前在重定向页面之后,然后再次显示默认情况下的列表文本。请建议我如何在下拉菜单中显示当前选中的文本。
<select id="HomepageUrlList" onchange="DropDownHomepageUrl()">
<option value="">List</option>
<option value="@Url.Action("Aboutus", "Home")">About us</option>
<option value="@Url.Action("Contactus", "Home")">Contact us</option>
</select>
Jquery:-
function DropDownHomepageUrl() {
window.location.href = document.getElementById("HomepageUrlList").value;
var strHomepageUrlListId = $("#HomepageUrlList option:selected").text();
}
您可以将所选的ID添加到URL,然后在下一页加载时读取该ID,例如:
第1页:
function DropDownHomepageUrl() {
var strHomepageUrlListId = $("#HomepageUrlList option:selected").text();
window.location.href =
document.getElementById("HomepageUrlList").value
+ "?selected=" + strHomepageUrlListId;
}
第2页:
$(function() {
$("#HomepageUrlList").val(getUrlVars()["selected"]);
});
// From https://stackoverflow.com/a/4656873/2181514
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
[当您使用MVC时,最好在第二页参数中添加selected
,而不要使用jquery来获取查询字符串,然后将选定的值与viewmodel一起传递。