zoukankan      html  css  js  c++  java
  • 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;
    }

  • 相关阅读:
    【DDD】领域驱动设计实践 —— 架构风格及架构实例
    【DDD】领域驱动设计精要
    Zynq UltraScale+ cross compiler
    Platform device/driver注册过程 (转)
    static inline extern等概念
    (int argc, char *argv[]) 指针数组
    linux man 1,2,3 命令
    指针左值错误
    arm ds5 编译选项
    在JTAG菊花链拓扑对设备编程
  • 原文地址:https://www.cnblogs.com/Depingblogs/p/14149280.html
Copyright © 2011-2022 走看看