gpt4 book ai didi

c# - 刷新下拉列表但保留旧的选定值 JSON

转载 作者:行者123 更新时间:2023-11-28 01:09:58 25 4
gpt4 key购买 nike

我的一个 CSHTML 文件中有一些 javascript 代码

$.getJSON("@Url.Action("GetLanguages")", function (data) {
debugger;
var $languages = $('.supplier-languages select');
$languages.children().filter(function () {
return $(this).attr('value');
}).remove();
$.each(data, function () {
debugger;
var option = $('<option />', {
text: this.Text,
value: this.Value
});

$languages.append(option.clone());
});
});
jSnap.modals.removeModal();

基本上,数据是选择列表项的列表,第一部分查找所有 vendor 语言 div 并选择选择,然后我们删除下拉列表中具有值的所有列表项(因此“请选择...”我拥有的默认列表项不会被删除,因为它没有分配值),一旦删除了所有填充的项目,我就会迭代我的数据变量并再次填充我的所有下拉列表。

这段代码工作正常,但我遇到的问题是,用户转到页面并选择一些选项,然后用户通过新打开的 jquery 模式向下拉列表添加一个新选项,当模式关闭时上面的代码已运行,但他们选择的选项现在没有设置回请选择。如何保持选中旧值并将它们放回到我的下拉列表选项中?

最佳答案

这是工作代码

<script>
$.getJSON("@Url.Action("GetLanguages")", function (data) {

var $languages = $('.supplier-languages select');

$languages.each(function () {
var $language = $(this);
var selectedValue = $language.val();

$language.children().filter(function () {
return $(this).attr('value');
}).remove();


$.each(data, function () {
debugger;
var option = $('<option />', {
text: this.Text,
value: this.Value,
});

if (this.Value == selectedValue) option.attr('selected', 'selected');

$language.append(option.clone());
});
});
});
jSnap.modals.removeModal();
</script>

现在基本上,它的作用与上面相同,但它一次为每个下拉列表 1 执行此操作,而不是遍历所有下拉列表,我们获取 selectedValue,然后删除所有子项,然后填充每个下拉列表使用新选项,并检查保存的选定值是否等于我们要填充下拉列表的任何选项,如果是这样,我们然后将选定的选项设置为选中,

希望这可以帮助其他人。

关于c# - 刷新下拉列表但保留旧的选定值 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573975/

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