【问题标题】:Dropdown (selection) in MVC PartialView does not update text after changing value by jQueryMVC PartialView中的下拉(选择)在通过jQuery更改值后不更新文本
【发布时间】:2023-03-17 16:46:01
【问题描述】:

我有一个 MVC 2 / jQuery 移动应用程序。

在我的主视图中,我有一个可排序的列表。排序通过 url 参数sortorder 进行。用于更改排序的下拉菜单位于部分视图中,如下所示:

<div class="ui-select">
    <select name="sortSelect" id="sortSelect" data-mini="true">
        <option value="opt1">Option 1</option>
        <option value="opt2">Option 2</option>
        <option value="opt3">Option 3</option>
    </select>
</div>

然后我有一个 jQuery 来检查下拉菜单是否已更改。在更改时,它会使用新的下拉值添加或更改 url sort 参数并重定向到新的 url:

$(document).ready(function () {
    $('#sortSelect').change(function () {
        var sortOrder = $('#sortSelect').val();
        var url = document.URL;
        if (url.indexOf("sortorder=") > -1)
            url = url.replace(/sortorder=[^&]+/, "sortorder=" + sortOrder);
        else
            url = url + "&sortorder=" + sortOrder;
        window.location.replace(url);
    });
});

由于排序前还有一些其他参数,所以加上&就可以了。

要在新加载页面时从 url 设置正确的值,我有以下 jQuery(函数 gup 从 url 读取值):

$('#sortSelect').ready(function () {
    var sortorder = gup('sortorder');
    if (sortorder != '')
        $('#sortSelect').val(sortorder);
}

有一个问题:如果我加载站点并通过下拉列表更改sortorder,那么到目前为止一切正常。该页面新加载了新的 url 参数和新排序的列表。甚至下拉值设置正确(我通过alert($('#sortSelect').val() 进行了检查,但下拉文本是旧文本。如果我按 F5,网站会刷新,并且下拉列表有正确的文本...

有什么想法可以解决这个问题吗?或者根本是什么问题?

【问题讨论】:

  • 我自己找到了答案。正如预期的那样,我必须像这样用 $("#sortSelect").selectmenu("refresh"); 刷新选择(下拉菜单): $('#sortSelect' ).ready(function () { var sortorder = gup('sortorder'); if (sortorder != '') $('#sortSelect').val(unescape(sortorder)); $("#sortSelect").选择菜单(“刷新”);});有时,简单的问题需要一些时间;)

标签: asp.net-mvc jquery-mobile partial-views


【解决方案1】:

我自己找到了答案。正如预期的那样,我必须像这样使用$("#sortSelect").selectmenu("refresh"); 刷新选择(下拉菜单):

$('#sortSelect').ready(function () { 
    var sortorder = gup('sortorder'); 
    if (sortorder != '') $('#sortSelect').val(unescape(sortorder));
    $("#sortSelect").selectmenu("refresh");
}); 

有时,简单的问题需要一些时间;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 2022-11-14
    相关资源
    最近更新 更多