如何解决Select2 未获取所选项目的价值
我在编辑表单中有一个 select2 列表,但它似乎没有保存选定的值。我认为这在某一时刻有效,但不确定。 mselect 可以很好地进行选择并且它们在表单上可见,但是当我去保存时,该值为空。
下面是我的 javascript:
<script type="text/javascript">
$(document).ready(function () {
var select= $('.mselect').select2({
ajax: {
url: '/Parts/GetPartsBySearch',width: 'resolve',data: function (params) {
return {
q: params.term// search term
};
},processResults: function (data) {
return {
results: data.items
};
},minimumInputLength: 2,width: 'resolve'
}
});
var model = '@Html.Raw(Json.Encode(Model.SelectedParts))';
$(".mselect").val(JSON.parse(model)).trigger('change');
})
这是输入:
<div class="col-md-4">
<div class="form-group">
@Html.LabelFor(model => model.SelectedParts,htmlAttributes: new { @class = "control-label" })<br />
@Html.DropDownListFor(model => model.SelectedParts,new SelectList(Model.PartsNum,"Value","Text"),new { @class = "form-control mselect",multiple = "true" })
@Html.ValidationMessageFor(model => model.SelectedParts,"",new { @class = "text-danger" })
</div>
</div>
模型:
public string[] SelectedParts { get; set; }
虽然我不相信控制器与它有任何关系,但这是我针对该部分的帖子:
foreach (var item in model.SelectedParts)
{
ProductMaster prodMast = new ProductMaster
{
ProductMasterId = Guid.NewGuid(),Material = Guid.Parse(item),vendorId = model.vendorId,CreatedBy = userId,CreatedDate = System.DateTime.Now
};
db.ProductMaster.Add(prodMast);
db.SaveChanges();
}
所以 Model.SelectedParts
为空。
我也在使用 JQuery 3.4.1 版
感谢您的帮助!
更新:
我认为 select2 和 @Html.DropdownListFor
存在问题我在控制台窗口中没有看到值。该值实际上在 <option></option>
标签中,而不是用于 ID mselect
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。