Asp.net mvc 需要通过文本框和按钮向DropDownList添加新选项

Asp.net mvc 需要通过文本框和按钮向DropDownList添加新选项,asp.net-mvc,razor,Asp.net Mvc,Razor,因此,我一直在互联网上寻找一个体面的解决方案,但我所尝试的都没有奏效。问题是,我有下拉列表(其中4个)看起来都是这样的:(这些都在视图中) Html.DropDownList(“序列颜色”,新列表 { 新建SelectListItem{Text=“GR-Green”,Value=“GR”}, 新建SelectListItem{Text=“BL-Blue”,Value=“BL”}, 新建SelectListItem{Text=“LB-浅蓝色”,Value=“LB”}, 新建SelectListIt

因此,我一直在互联网上寻找一个体面的解决方案,但我所尝试的都没有奏效。问题是,我有下拉列表(其中4个)看起来都是这样的:(这些都在视图中)

Html.DropDownList(“序列颜色”,新列表
{
新建SelectListItem{Text=“GR-Green”,Value=“GR”},
新建SelectListItem{Text=“BL-Blue”,Value=“BL”},
新建SelectListItem{Text=“LB-浅蓝色”,Value=“LB”},
新建SelectListItem{Text=“NO-None”,Value=“NO”},
新建SelectListItem{Text=“OR-Orange”,Value=“OR”},
新建SelectListItem{Text=“PP-Purple”,Value=“PP”}
我还有一个文本框和按钮:(也在视图中)


添加默认值

我想做的是允许用户输入一个值(任何内容),按下按钮并将其添加到dropdownlist。我看到的大多数解决方案要么已经过时,要么不支持MVC/Razor。

您必须通过JavaScript添加它们。您可以使用JQuery这样做

首先将按钮onclick事件绑定到类似onclick=“addNewItem()”的JavaScript方法

函数addNewItem(){
$(“#序列颜色”)。附加($(''{
值:$('#add4').val(),
正文:$('#add4').val()
});
}

你要么使用JavaScript,要么将输入和按钮包装成表单,然后用扩展的选择列表重新加载页面。嗯,这个解决方案仍然不起作用。下面是我的按钮代码现在的样子:按下按钮时添加默认值,而不是在Html DropDownList的初始化结束时添加新的{id=“SeriesColor”},还要确保添加了jquery
Html.DropDownList("SeriesColor", new List<SelectListItem>

{

new SelectListItem {Text = "GR- Green", Value = "GR"},

new SelectListItem {Text = "BL - Blue", Value = "BL"},

new SelectListItem {Text = "LB - Light Blue", Value = "LB"},

new SelectListItem {Text = "NO - None", Value = "NO"},

new SelectListItem {Text = "OR - Orange", Value = "OR"},

new SelectListItem {Text = "PP - Purple", Value = "PP"}
 <input id="addD4" type="text" />

 <button class="btn btn-default" type="button">Add Default</button>
function addNewItem(){

$("#SeriesColor").append($('<option>', {
value: $('#addD4').val() ,
text: $('#addD4').val()
  });
}