gpt4 book ai didi

json - MVC3 DropDownList + JSON + 选定问题

转载 作者:行者123 更新时间:2023-12-01 12:52:33 25 4
gpt4 key购买 nike

我的网站(MVC3 + JQuery)和它的移动版本(MVC3 + JQuery 移动)之间有一个非常奇怪的行为,它们分为两个不同的解决方案。

我正在使用以下代码根据另一个 (SearchBy) 更改下拉列表 (SearchValue) 的浓度。

Razor :

@Html.DropDownListFor(x => x.SelectedSearch, new SelectList(Model.SearchBy, "key", "value"), new { onchange = "GetValues($(this).val());" })
@Html.DropDownListFor(m => m.SelectedSearchValue, new SelectList(Model.SearchValue, "key", "value"))

JSON:

$.ajax({
type: "POST",
url: '@Url.Action("GetValues", "Search")',
data: "{searchId:" + searchId + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var options = $('#SelectedSearchValue');
$('option', options).remove(); // Remove previous

$.each(data, function () {
options.append($('<option/>').val(this.Id).text(this.Display));
});
}
});

此代码在我的网站 (JQuery) 上运行良好,但在我的移动网站 (JQuery mobile) 上却不是这样,它适用于 Opera Mobile 但不适用于 FF 或 IE 或 Safari ...(我尝试过模拟移动设备的用户代理)

SearchValue 下拉列表的值已正确设置,但在 JSON 调用结束时,所选值是之前选择的值(不在下拉列表的可能值中)。我不确定是否清楚,所以我给你举个小例子:

对于 SearchBy,我有以下可能性:- 姓名- 汽车

当我选择 Name 时,我想在 SearchValue 中显示类似“Name1”、“Name2”等的内容当我选择 Car 时,我想在 SearchValue 中显示类似“Car1”、“Car2”等的内容

但是在我的移动网站上使用之前的代码,当我将值“Name”更改为 Car 时,下拉列表会正确地重新填充正确的值(“Car1”、“Car2”等),但所选值是前一个(例如“Name1”)即使它不在下拉列表的可能值中。我也尝试手动选择第一个值但没有任何反应:

$('option[value=' + myBeautifulValue + ']').attr('selected', 'selected');

你有办法解决我的问题吗?我做错了吗?

预先感谢您的帮助,妮可

PS:抱歉我的英语不好

最佳答案

好的,我找到了解决方案。我必须刷新下拉菜单,奇怪!像那样:

var myselect = $("#SelectedSearchValue"); 
myselect[0].selectedIndex = 0;
myselect.selectmenu('refresh');

Source

关于json - MVC3 DropDownList + JSON + 选定问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11371515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com