$(function () {
$('.skin-minimal input').iCheck({
checkboxClass: 'icheckbox-blue',
radioClass: 'iradio-blue',
increaseArea: '20%'
});
$("#form-admin-permission-edit").validate({
rules:{
// username:{
// required:true,
// minlength:4,
// maxlength:16,
// remote: {
// url: "/admin/manager/user/isExist",
// type: "get",
// data: {
// username: function () {
// return $("#username").val();
// }
// }
// }
// },
type:{
required:true
},
name:{
required:true
},
parentId:{
required:true
},
url:{
required:true
},
perms:{
required:true
}
},
// messages : {
// username : {
// remote: "该用户名已经被注册!"
// }
// },
onkeyup:false,
focusCleanup:true,
success:"valid",
submitHandler:function(form){
$(form).ajaxSubmit({
type: 'PUT',
url: "/admin/permission/"+$("#pid").val(),
dataType:"json",
success: function(data){
if(data.status == "success"){
succeedMessage(data.message);
var index = parent.layer.getFrameIndex(window.name);
parent.location.reload();
parent.layer.close(index);
}else {
errorMessage(data.message);
}
}
});
return false; // 非常重要,如果是false,则表明是不跳转,在本页上处理,也就是ajax,如果是非false,则传统的form跳转。
}
});
//页面初始化的时候初始化显示隐藏表单元素
var checkedValue = $("input[name='type']:checked").val();
if (checkedValue == '0') {
$(".parentDiv").hide();
$(".URLDiv").hide();
$(".permsDiv").hide();
$(".iconDiv").show();
$("#parentName").val("");
//动态改变验证规则
$("#parentId").rules("remove");
$("#url").rules("remove");
$("#perms").rules("remove");
} else if(checkedValue == '1'){
$(".parentDiv").show();
$(".URLDiv").show();
$(".permsDiv").show();
$(".iconDiv").hide();
//动态改变验证规则
$("#parentId").rules("add",{required: true});
$("#url").rules("add",{required: true});
$("#perms").rules("add",{required: true});
} else if(checkedValue == '2'){
$(".parentDiv").show();
$(".URLDiv").hide();
$(".permsDiv").show();
$(".iconDiv").hide();
//动态改变验证规则
$("#parentId").rules("add",{required: true});
$("#url").rules("remove");
$("#perms").rules("add",{required: true});
}
//为iCheck绑定选中事件
$("input[name='type']").on('ifChecked', function(event){
var value = $(this).val();
if (value == '0') {
$(".parentDiv").hide();
$(".URLDiv").hide();
$(".permsDiv").hide();
$(".iconDiv").show();
$("#parentName").val("");
//动态改变验证规则
$("#parentId").rules("remove");
$("#url").rules("remove");
$("#perms").rules("remove");
} else if(value == '1'){
$(".parentDiv").show();
$(".URLDiv").show();
$(".permsDiv").show();
$(".iconDiv").hide();
//动态改变验证规则
$("#parentId").rules("add",{required: true});
$("#url").rules("add",{required: true});
$("#perms").rules("add",{required: true});
getPermissionList(value);
} else if(value == '2'){
$(".parentDiv").show();
$(".URLDiv").hide();
$(".permsDiv").show();
$(".iconDiv").hide();
//动态改变验证规则
$("#parentId").rules("add",{required: true});
$("#url").rules("remove");
$("#perms").rules("add",{required: true});
getPermissionList(value);
}
});
/**
* 根据类型获取上级节点列表
* 因为左测菜单目前只有一级目录,所以添加权限节点选择类型为目录时是不需要选择上级节点
* @param typeValue
*/
function getPermissionList(typeValue) {
var type = "";
if(typeValue == '1'){
type = "0";
}else if(typeValue == '2'){
type = "1";
}
$.ajax({
type:"GET",
dataType:"json",
url: "/admin/permission/getPermissionList?type="+type,
data:{
"timestamp":new Date().getTime()
},
success: function (data) {
if (data.status == "success") {
$("#parentId").html("");
$("#parentName").val("");
var opt = "";
$.each(data.permissionList, function (i, v) {
opt += ""
});
$("#parentId").html(opt);
}
}
});
}
//为parentName赋值
$("#parentId").change(function () {
$("#parentName").val($(this).find("option:selected").text())
});
});