1。 在数据库中要创建权限的字段
2。 添加用户时
<div class="am-cf am-padding"> <div class="am-fl am-cf"> <strong class="am-text-primary am-text-lg">运营商</strong> / <small>分配权限</small></div> </div> <div class="admin-content am-padding-left" style="border-bottom: 1px solid #CCC"> <span>请勾选权限信息</span> </div> <div class="am-margin-top am-padding-top"> <div class="am-padding-left"> <input type="checkbox" name="QX" value="系统管理" /> <span class=" am-padding-right"><strong>系统管理</strong></span> </div> <div class="am-g am-margin-top"> <div class=" am-u-sm-12 am-u-md-3"> <input type="checkbox" name="QX" value="供应商管理" /> <span>供应商管理 </span> </div> <div class=" am-u-sm-12 am-u-md-9"> <input type="checkbox" name="QX" value="超市管理" /> <span>超市管理 </span> </div> </div> </div>
每一个input 标签代表一个权限。 input 里面要写统一的name值。 和对应的value
<script type="text/javascript"> $(function () { $('input[name="QX"]').click(function (event) { $(this).parent().parent().siblings(".am-padding-left").find("input").attr("checked", true); //选二级分类1级分类默认选中 var One = $(this).parent().siblings(".am-g").find("input"); //选1级分类所有二级分类默认选中 if ($(this).is(':checked')) { $(One).each(function () { $(this).attr("checked", true); }); } else { $(One).each(function () { $(this).attr("checked", false); }); } }); }) </script>
点击添加按钮后 后台获取所选择的权限
argValue = Request.Form["QX"];
获取到后添加到数据库中。
***********************************************************************
当用户使用添加后的账户登录到后台时。 需判断已有权限。根据对应的权限去显示菜单。
<script type="text/javascript"> $(function () { $(".qx").hide(); // 先隐藏所有菜单。 $.ajax({ type: "post", url: "ashx/qx.ashx", dataType: "text", success: function (data) { var json = eval('(' + data + ')'); if (json.isSuccess == "true") { var qx = $(".qx"); var myqx = json.qx; $(qx).each(function () { if (myqx.indexOf($(this).attr("data-id")) >= 0) { $(this).show(); //有这个权限对应的菜单就显示 } }); } else { } } }); }) </script>
----> json.qx就是从数据库中获取的权限的字段值
这里是首页上的左侧菜单。 每一个菜单选项都要添加class 及对应的data-id. 以供上面的js 调取。
我用的这个方法有点假, 知道用浏览器控制台的人都控制不了他的权限, 不过客户是没那么聪明的。 所以先这样凑合用着, 毕竟这样做起来很快,很方便。
********************************** 修改权限的js
<script type="text/javascript"> $(function () { $('input[name="QX"]').click(function (event) { $(this).parent().parent().siblings(".am-padding-left").find("input").attr("checked", true); var One = $(this).parent().siblings(".am-g").find("input"); //选1级分类所有二级分类默认选中 if ($(this).is(':checked')) { $(One).each(function () { $(this).attr("checked", true); }); } else { $(One).each(function () { $(this).attr("checked", false); }); } }); var id = getParam("uid"); $.ajax({ type: "post", url: "/Admin/ashx/areaqx.ashx", data: { id: id }, dataType: "text", success: function (data) { var json = eval('(' + data + ')'); if (json.isSuccess == "true") { var myqx = json.qx; $('input[name="QX"]').each(function () { if (myqx.indexOf($(this).val()) >= 0) { $(this).attr("checked", true); } }); } else { } } }); }) </script>
如果你用的jq 版本过低的话。 需要使用
$(this).prop("checked", true);
http://www.cnblogs.com/mchuang/p/5852241.html