zoukankan      html  css  js  c++  java
  • select2-4.0.3

    案例  想深入了解的可以看看https://select2.org/

    //控制器

    /// <summary>
    /// select获取角色
    /// </summary>
    /// <param name="keyWord">文本框输入的内容</param>
    /// <param name="pageSize">每页几条数据</param>
    /// <param name="pageIndex">当前页</param>
    /// <returns></returns>
    public ActionResult GetRoleJson(string keyWord, int pageSize, int pageIndex = 1)
    {
      List<RoleDb> roleList = RoleBll.Instance.GetRoleListAllInCache();//获取List<RoleDb>的集合
      if (!string.IsNullOrEmpty(keyWord))//判断select2文本框中是否输入内容
      {

        roleList = roleList.Where(c => c.role_name.Contains(keyWord)).ToList();//lamda表达式进行查询
      }
      roleList = (from r in roleList select r).Take(pageSize * pageIndex).Skip(pageSize * (pageIndex - 1)).ToList();//分页(可选)

      //封装json对象
      JObject rss = new JObject(

        new JProperty("total", roleList.Count),
        new JProperty("results",
        new JArray(
        from r in roleList
        select new JObject(
        new JProperty("id", r.role_id)
        , new JProperty("text", r.role_name)
        )
        )
        )
        );
          return Content(rss.ToString());
    }

    //视图

    <span class="li_con" >
    <select id='role_id' style="60%;text-align:right;padding-left:5px" multiple='multiple'>
    @foreach (var item in roleList)
    {
       @*<option value='@item[1]' selected='selected'>@item[0]</option>如果有需求可以直接写open*@
    }
    </select>
    <input type='hidden' name='role_names' id='role_names_hid' value='' />
    <input type='hidden' name='role_ids' id='role_id_hid' value='' />
    @Html.ValidationMessageFor(c => c.role_ids)
    <script>
    $(document).ready(function () {
      $('#role_id').select2({
        language: 'zh-CN',
        quietMillis: 1000,
        minimumInputLength: 0,
        maximumInputLength: 10,
          ajax: {
            url: '/RoleManager/GetRoleJson',//控制器名
            dataType: 'json',//返回值类型json
            delay: 1000,
            data: function (params) { return { keyWord: params.term, pageIndex: params.page || 1, pageSize: 7 }; },
            processResults: function (data, params) { return { results: data.results, pagination: { more: data.results.length > 0 } }; },
            cache: true
            }
        }).on('change', function () {//改变事件时触发


            $('#role_id_hid').val($('#role_id').val());//把值存到隐藏域中
            $('#role_names_hid').val($("#role_id").find("option:selected").text());//把值存到隐藏域中
      });
      });

    </script>

    </span>

     

  • 相关阅读:
    机械键盘与选购技巧
    计算机科学与技术专业的知识架构
    加法器
    计算机底层逻辑电路
    小数在计算机的表示
    整数在计算机里的表示
    Core ML 机器学习
    MapFileParser.sh: Permission denied
    iOS开发创建UI的耗时操作处理
    iOS application/json上传文件等
  • 原文地址:https://www.cnblogs.com/wpchina/p/10671386.html
Copyright © 2011-2022 走看看