jQuery multiselect初始化默认值及多选项保存到数据库

https://www.cnblogs.com/landeanfen/p/5013452.html

前端页面:

<td>

<select class="form-control valid" id="MaintenanceManselect" multiple="multiple" name="MaintenanceManselect" >
@foreach (var obj in EMMS.Web.Cache.RepairMenList(Model.Plant, Model.MainWC))
{
@Html.Raw(string.Format("<option value='{0}'>{1}</option>", obj.Value, obj.Text))
}
</select>
<input type="hidden" name="MaintenanceMan" id="MaintenanceMan" value="@Html.Raw(Model.MaintenanceMan)" />
</td>

<link href="~/Content/js/bootstrap-multiselect/css/bootstrap-multiselect.css" rel="stylesheet" />
<script src="~/Content/js/bootstrap-multiselect/js/bootstrap-multiselect.js"></script>
<script type="text/javascript">
///下拉列表赋初值,方法1
$("#selectAgent").multiselect({
noneSelectedText: "==请选择==",
checkAllText: "全选",
uncheckAllText: '全不选',
selectedList: 4,
});

//初始化默认选中已有的选项,sceneIdList是要默认选中的值
var sceneIdList = "@Model.UR_Agent";
sceneIdArr = sceneIdList.split(",");
$('#selectAgent option').each(function (i, content) {
//alert(i+"***"+content.value);
if ($.inArray($.trim(content.value), sceneIdArr) >= 0) {
this.selected = true;
}
});
//设置选中值后,需要刷新select控件
$("#selectAgent").multiselect('refresh');

///下拉列表赋初值,方法2
@if (!string.IsNullOrEmpty(Model.MaintenanceMan.ToString()))
{
@Html.Raw("$('#MaintenanceManselect').multiselect('select', ['" + Model.MaintenanceMan.ToString().Replace(",", "','") + "']);")
}

///保存方法
function SaveSp() {
var model = model;
if ($('#Plant').val() == "" || $('#Spareno').val() == "" || $('#SPDesc').val() == "") {
layer.alert('请输入SN号(Spareno)')
return;
}
var maintenanceManselectSelected = [];
$("#MaintenanceManselect option:selected").each(function () {
maintenanceManselectSelected.push($(this).val());
});
$("#MaintenanceMan").val(maintenanceManselectSelected.join(",")); ///select的值先汇总

var Sp = [{
MOrder: $("#MOrder").val(),
MaintenanceMan: maintenanceManselectSelected.join(","), ///select的值先汇总
}]


$.get("/EM/CheckSp?MOrder=" + $('#MOrder').val() + '&Plant=' + $('#Plant').val() + '&spno=' + $('#SparePartNo').val() + '&snno=' + $('#Spareno').val(), function (result) {
if (!result.Success) {
if (result.EquipID != "") {
layer.confirm("该序列号配件已经使用在[" + result.EquipID + "]设备上,确定要换到当前设备吗?", {
btn: ['确定', '取消']
}, function (index) {
$.ajax({
//url: "/MiProjectDetail/Save" ,
url: "@Url.Action("SPSave", "EM")",
data: { Sp: JSON.stringify(Sp), mainwc: $("#mainwc").val(), equipid: $("#equipid").val() },
type: "Post",
dataType: 'json',
success: function (data) {
debugger;
if (data.Success) {
layer.msg('success');
window.parent.location.reload();
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);

} else {
debugger;
var aa = data.Errors[0];
layer.msg(aa);
}
}
});
}, function (index) {
// 按钮2取消的事件
$('#Spareno').focus()
})
}
else {
$.ajax({
//url: "/MiProjectDetail/Save" ,
url: "@Url.Action("SPSave", "EM")",
data: { Sp: JSON.stringify(Sp), mainwc: $("#mainwc").val(), equipid: $("#equipid").val() },
type: "Post",
dataType: 'json',
success: function (data) {
debugger;
if (data.Success) {
layer.msg('success');
window.parent.location.reload();
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);

} else {
debugger;
var aa = data.Errors[0];
layer.msg(aa);
}
}
});
}
}
else {
var aa = result.Errors[0];
layer.msg(aa);
}

})
}

后台数据源 .cs
public static List<SelectListItem> RepairMenList(string building, string wc)
{
List<SelectListItem> m_RepairMenList = null;
if (m_RepairMenList == null)
{
var buildings = building.Split(',');
using (var db = new BaseManager().GetDbContext())
{
var query = (from t in db.RepairMen.AsNoTracking()
where t.Building.Contains(building) && t.WC.Contains(wc)
from wcone in buildings where t.Building.Contains(wcone)
orderby t.EmployeeName
select new SelectListItem { Text = t.EmployeeId.ToString() + "-" + t.EmployeeName, Value = t.EmployeeId.ToString() + "-" + t.EmployeeName }).ToList();
List<SelectListItem> list = new List<SelectListItem>();
//list.Add(new SelectListItem() { Text = "", Value = "" }); //把空的去掉
list.AddRange(query);
m_RepairMenList = list;
}
}
foreach (var a in m_RepairMenList)
{
a.Selected = false;
}

return m_RepairMenList;
}

原文地址:https://www.cnblogs.com/Depingblogs/p/14149280.html