在layer弹出层中通过ajax返回html拼接字符串填充数据的方法

 更新时间:2018年11月13日 11:29:27   作者:小小妥妥大大  
这篇文章主要介绍了在layer弹出层中通过ajax返回html拼接字符串填充数据的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

1,在给一个layer弹出层做checkbox自动选中时,ViewBag传递的时object类型,用不了lambda表达式,代码如下,

 @foreach (var perm in ViewBag.allPerms)
 {
  <input type="checkbox" id="permissionIds_@perm.Id" 
   name="PermissionIds" value="@perm.Id" 
 checked="@(ViewBag.RolePerms.Select(r=>r.Id).Contains(perm.Id))"/>
   <label for="permissionIds_@perm.Id">@perm.Name</label>
 }

2,于是在弹出层就不写foreach循环遍历checkbox,直接在点击编辑事件时的弹出层中 ‘添加层弹出后的成功回调方法success' ,在里面通过ajax填充数据

Control中Edit方法获取数据

 //填充角色数据并显示
 public ActionResult Edit(long roleId = 0)
 {
  if (roleId == 0)
  {
   return Json(new JsonData { State = 0, ErrorMsg = "角色不存在!" });
   }
   var role = RoleService.GetById(roleId);
   if (role==null)
  {
   return Json(new JsonData { State = 0, ErrorMsg = "角色Id不存在!" });
   }
   var allPerms = PermissionService.GetAll();
   var rolePerms = PermissionService.GetByRoleId(roleId);
   RoleEditGetModel model = new RoleEditGetModel();
   model.RolePerms = rolePerms;
   model.AllPerms = allPerms;
   return Json(new JsonData { State = 1, Data = model });
 }

View中Layer弹出层success方法

success: function (layero, index) {
     //填充数据
     $.ajax({
      url: "/Role/Edit?roleId=" + id,
      type: "post",
      dataType: "json",
      success: function (res) {
       if (res.State == 1) {
        var html = "";
        var bool = false;
        for (var i = 0; i < res.Data.AllPerms.length; i++) {
         bool = false;
         for (var j = 0; j < res.Data.RolePerms.length; j++) {
          if (res.Data.RolePerms[j].Id == res.Data.AllPerms[i].Id) {
           bool = true;
           break;
          }
         }
         html += ' <input ' + (bool ? "checked" : "") + ' type="checkbox" id="permissionIds_' + res.Data.AllPerms[i].Id + '" name="PermissionIds" value="' + res.Data.AllPerms[i].Id + '" /> 
         <label for="permissionIds_' + res.Data.AllPerms[i].Id + '">' + res.Data.AllPerms[i].Name + '</label>'
        }
        $("#formValue").html(html);
       }
      },
      error: function () {
       layer.alert('网络请求失败!', {
        title: '提示框',
        icon: 0,
       });
      }
     });
    },

总结

以上所述是小编给大家介绍的在layer弹出层中通过ajax返回html拼接字符串填充数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 关于ajax的多次请求问题

    关于ajax的多次请求问题

    下面小编就为大家带来一篇关于ajax的多次请求问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • Ajax()方法如何与后台交互

    Ajax()方法如何与后台交互

    Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合
    2016-03-03
  • AJAX初体验之实战篇——打造博客无刷新搜索

    AJAX初体验之实战篇——打造博客无刷新搜索

    AJAX初体验之实战篇——打造博客无刷新搜索...
    2006-08-08
  • ajax传递一个参数具体实现

    ajax传递一个参数具体实现

    ajax传递一个参数或多个参数在使用过程中由于特殊需求经常会用到,下面与大家分享下具体的实现方法,感兴趣的朋友可以参考下哈
    2013-05-05
  • javascript Ajax获取远程url的返回判断

    javascript Ajax获取远程url的返回判断

    将以下文本放入一个HTML页面即可看到效果,将会有两次弹出提示,最后在页面上显示YES,表示完成
    2012-01-01
  • 解决AJAX返回状态200没有调用success的问题

    解决AJAX返回状态200没有调用success的问题

    今天小编就为大家分享一篇解决AJAX返回状态200没有调用success的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 5款Ajax 文件上传控件

    5款Ajax 文件上传控件

    如果你的网站含有文件上传功能,那可以使用本文介绍的5款Ajax文件上传控件,提升用户体验。要知道,上传文件总是个痛苦的过程,要消除不太现实,但至少如果你为减少用户的痛苦努力了,那用户也会喜欢你的网站的。
    2009-10-10
  • 用ajax xml的数据读取的HelloWorld程序

    用ajax xml的数据读取的HelloWorld程序

    我们经常会使用JavaScript实现动态的改变div里面的内容,尤其是使用ajax的时候,尤为重要。
    2009-04-04
  • Ajax读取数据之分页显示篇实现代码

    Ajax读取数据之分页显示篇实现代码

    前几篇的ajax教程里讲了,读取,添加,修改,删除的功能.有几天没有更新了,虽然网上也有很多ajax分页的教程和相关实例.
    2010-10-10
  • 用AJAX技术聚合RSS

    用AJAX技术聚合RSS

    用AJAX技术聚合RSS...
    2006-06-06

最新评论