首先,我想通过表格发布一个列表。它看起来像这样:
<div class="cnl-box-otr">
<div class="form-group">
<label>Name</label>
@Html.TextBoxFor(m => m.list[0].name, new { @class = "form-control", placeholder = "Name" })
</div>
<div class="form-group">
<label>Percentage</label>
@Html.TextBoxFor(m => m.list[0].percentage, new { @class = "form-control", placeholder = "Percentage" })
</div>
</div>
现在我点击按钮创建其他动态相同的div与jquery:
$("#AddMorediv").on('click', function () {
var index = parseInt($('#index').val());
index = index + 1;
var contentToBeInserted = '<div class="cnl-box-otr" id="row"><a href="#" class="cnl-box DeleteRow"><i class="fa fa-times"></i></a><div class="form-group"><label>Details</label><input class="form-control" id="list_' + index + '_Name" name="list[' + index + '].Name" placeholder=" Name" type="text" value=""></div><div class="form-group"><label>%</label><input class="form-control" data-val="true" id="list' + index + '_Percentage" name="list[' + index + '].Percentage" placeholder="Percentage" type="text" value=""></div></div>'
$('.writericondiv').append(contentToBeInserted);
$('#indexwriters').val(index);
});
这将完美地创建我的列表并成功发布为列表。但问题是我还可以选择逐个删除这些div。我尝试删除第一个索引,然后发布表单。只有零索引值成功发布到控制器,但大于第一个索引不发布其值。发布时列表看起来像这样。
<div class="cnl-box-otr">
<div class="form-group">
<label>Name</label>
@Html.TextBoxFor(m => m.list[0].name, new { @class = "form-control", placeholder = "Name" })
</div>
<div class="form-group">
<label>Percentage</label>
@Html.TextBoxFor(m => m.list[0].percentage, new { @class = "form-control", placeholder = "Percentage" })
</div>
</div>
<div class="cnl-box-otr">
<div class="form-group">
<label>Name</label>
@Html.TextBoxFor(m => m.list[2].name, new { @class = "form-control", placeholder = "Name" })
</div>
<div class="form-group">
<label>Percentage</label>
@Html.TextBoxFor(m => m.list[2].percentage, new { @class = "form-control", placeholder = "Percentage" })
</div>
</div>
希望你明白我想问的是什么。如果没有,请添加评论我肯定会改进这个问题。
感谢您提供任何帮助或建议。