关于此问题的大多数问题只是附加一个简单的下拉列表Html。但是我试图动态添加(追加)Html.DropDownListFor帮助器,因为我需要从服务器获取选择列表。此代码的目标是将Judge.JudgeBoothMark列表提交给控制器。这是我的DropDownListFor Html助手:
<div id="BoothList">
@Html.LabelFor(b => b.Booths)
@Html.DropDownListFor(m => m.Judge.JudgeBoothMark[0].BoothId, new SelectList(Model.Booths, "Id", "BoothId"), "--Select Booth--", new { @class = "form-control" })
@Html.ValidationMessageFor(b => b.Judge.JudgeBoothMark)
</div>
我使用此按钮添加下拉列表:
<button type="button" id="addBooth">Add Booth</button>
我想通过javascript动态添加这种hdown助手的下拉列表,因为 m.Judge.JudgeBoothMark [0] 计数的数字 0 会在我点击时加起来在按钮上。这是我的Javascript代码:
@section scripts{
<script>
$(document).ready(function () {
var count = 0;
$("#addBooth").click(function() {
count++;
@{
string dropdown = Html.DropDownListFor(m => m.Judge.JudgeBoothMark[1].BoothId,
new SelectList(Model.Booths, "Id", "BoothId"),
"--Select Booth--",
new {@class = "form-control"}).ToString();
}
var newBooth = '<br/>@Html.Raw(Ajax.JavaScriptStringEncode(dropdown))';
$("#BoothList").append(newBooth);
});
});
</script> }
请注意,我在此处使用的下拉列表中包含索引1 。我可以正常运行此代码,但索引号将只有1,不变。将提交/保存到我的控制器的数据是第一个和第二个添加的下拉列表[0,1]。
我无法增加数量,因为我不知道该怎么做。我已经尝试了很多方法(例如;尝试使用count变量,但找不到合适的方法),但似乎无法解决这个问题。
有什么方法可以解决这个问题吗?还是有更好的方法来实现我的目标吗?
提前致谢。