Dropdown在mvc和jquery中无法正常工作

问题描述 投票:0回答:1

我已经尝试下拉选择的值,但是当前在重定向页面之后,然后再次显示默认情况下的列表文本。请建议我如何在下拉菜单中显示当前选中的文本。

<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();
        }
jquery html asp.net-mvc-4
1个回答
0
投票

您可以将所选的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一起传递。

© www.soinside.com 2019 - 2024. All rights reserved.