`

JQuery验证

阅读更多
  js----->


var table = initTable();
    initValidate();
    var datas = [];
var leftList = {};// 左边列表
var leftChangeList = {};// 保存左列表选中数据
var rightList = {};// 右边列表
var rightChangeList = {};// 保存右列表选中数据
var leftCols = [ "policyName" ];// 左列表显示得列
var rightCols = [ "policyName", "defaultValue" ];// 定义右列表显示得列
//添加模板时初始化左侧列表和右边列表
function SearchOption() {
rightList = {};
$.ajax({
'url' : $.baseUrl + "/policyDictionaryManager/findAllPolicyDictionary",
'type' : 'post',
'contentType' : "application/json",
'success' : function(data) {
datas = data;
leftList = data;
// table中,左类别初始化true:只显示名字
initList(leftList, "templateOfRelation", leftCols);
// 右列表初始化false:全部显示
initList(rightList, "exampleShow", rightCols);
},
});
}

// 列表初始化
function initList(data, slector, cols) {
$("#" + slector + " tbody").remove();
var $tbody = $("<tbody></tbody>");
//console.log(data);
var name = "";// 标识需要修改得列
$.each(data, function(k, v) {
var $tr = $('<tr id="' + k + '"></tr>');

$.each(cols,
function(i, obj) {
if (i == 1) {
name = "key";
}
name = "value";// 标识需要修改得列
var $td = $('<td data-options=' + name + '>' + v[obj]
+ '</td>');
$td.appendTo($tr);
})
$tr.appendTo($tbody);
})
$tbody.appendTo($("#" + slector));
}

// 给tr添加点击事件
$("#templateOfRelation").click(
function(e) {
var e = e || window.event;
var target = e.target;
// 改变颜色
$(target).parent("tr").addClass("active").siblings("tr")
.removeClass('active');

$("#exampleShow tr.active").removeClass('active');

var tId = $(target).parent("tr").prop("id");
var tr = datas[tId];
leftChangeList = {};
leftChangeList[tId] = tr;

});
$("#exampleShow").click(
function(e) {
var e = e || window.event;
var target = e.target;

// 改变颜色
$(target).parent("tr").addClass("active").siblings("tr")
.removeClass('active');
$("#templateOfRelation tr.active").removeClass('active');
var tId = $(target).parent("tr").prop("id");
var tr = datas[tId];
rightChangeList = {};
rightChangeList[tId] = tr;
})

// add
$("#btnAdd").click(function() {

var isRepeat = false;
$.each(leftChangeList, function(k, v) {
// 判断添加的数据是否重复
$.each(rightList, function(i, obj) {
if (k == i) {
isRepeat = true;
alert("不能重复添加!");
return true;
}
})
if (isRepeat) {
return false;
}
rightList[k]= v;
})

initList(rightList, "exampleShow", rightCols);
})
$("#btnDel").click(function() {
var tmpeList = {};
var isNull = true;
console.log(rightChangeList);
$.each(rightChangeList, function(k, v) {
isNull = false;
$.each(rightList, function(i, obj) {
if (k == i) {
return true;
}
tmpeList[i] = obj;
})
})
rightList = isNull ? rightList : tmpeList;

initList(rightList, "exampleShow", rightCols);
})
$("#exampleShow").dblclick(function(e) {
var e = e || window.event;
var target = e.target;
if ($(target).attr("data-options") == "value") {
var oldNum = $(target).html();// 保存原有数据
$(target).empty();
var $input = $("<td>"+oldNum+"</td>");
$input.appendTo($(target));
$input.focus();
$input.blur(function() {
if ($(this).val() != "") {
var key = $(this).parent().parent().prop("id");
rightList[key]["defaultValue"] = $(this).val();
}
initList(rightList, "exampleShow", rightCols);
});
}
});

//保存模板信息表
function saveTemplateInfo(){
//不绑定添加事件
//$("#saveEditTemplateInfo").unbind("click");

    //点击保存按钮触发事件
    $("button#saveEditTemplateInfo").bind("click",function(){
   
   if ($("form").valid()){
   //获取表格的模板名称
   var  policyTemplateName=$("#policyTemplateName").val();
  var test=[];
   $.each(rightList,function(k,obj){
   test.push(obj);
   })
   //获取左边字典的列表[]
   var j={"policyTemplateName":policyTemplateName,"leftChangeList":test};
//ajax修改数据库数据。成功时执行以下数据。
          $.ajax({
            'url': $.baseUrl+"/policyTemplateInfoManager/savePolicyTemplateInfo",
            'type': "post",
            'contentType' : 'application/json',
            'data': JSON.stringify(j),
            'success': function(data){
            $("#addPolicyTemplate").modal("hide");
            alert("添加成功!");
            table.draw();
            },
          });
}else{
alert("验证失败!");
}
   
    });
    }
    //查询
    searchTemplate();
    //添加
    addTemplate();
    //详情
    deltailTemplate();
    //修改模板
edit();

    //查询模板表
    function searchTemplate(){
        $("#searchButton").click(function(){
          table.draw();
        });
    }
    function initTable(){
    var table = $('#example').DataTable({
                processing: false,
                autoWidth:false,
                serverSide: true,
                ordering: false,
                searching: false,
                pagingType: 'full_numbers',
                ajax: {
                  'url': $.baseUrl + '/policyTemplateManager/showPolicyTemplate',
                  'type': 'post',
                  'contentType':"application/json",
                  "data": function ( d ) {
                        var datas = Util.getObject("form#searchForm");
                        var searchData = {};
                        for (var key in datas) {
                          searchData[key] = datas[key];
                        }
                        d['searchData'] = searchData;
                        return JSON.stringify(d);
                  },
                  'dataSrc': 'data'
                },
                "columns": [
                         /*   { "data": "templateId" },*/
                            { "data": "policyTemplateName" },
                            { "data": "createTime"},
                            {"data":null}
                        ],
                'columnDefs': [
                    {
                    targets: -1,
                        render : function(data, type, row) {
                        var html = "<button data-code='' type='button' class='btn btn-primary btn-sm' id='editbtn' data-localize=''>修改</button>\n"
+ "<button data-code='' type='button' class='btn btn-danger btn-sm' id='delTemplate"+row.templateId+"' data-localize=''  onclick='delTemplate("+row.templateId+");'>删除</button>\n"
+ "<button data-code='' type='button' class='btn btn-primary btn-sm' id='deltailTemplate' data-localize=''>详情</button>\n";
return html;
}
                    }
                ],
            "language": {
"lengthMenu":"_MENU_条记录每页",
"zeroRecords": "没有找到记录",
"info": "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )",
"infoEmpty": "无记录",
"infoFiltered": "(从 _MAX_ 条记录过滤)",
"paginate": {
"first":"首页",
"last":"尾页",
"previous":"上一页",
"next":"下一页"
}
},
            });
      return table;
    }
   
    //模板表信息的校验
    function initValidate(){
    //添加模板表信息初始验证
$("#addPolicyTemplate Form").validate({
    rules: {
    policyTemplateName: {required: true, maxlength: 256},
    }
  });
//修改模板信息初始验证
$("#editDiv Form").validate({
    rules: {
    policyTemplateName: {required: true, maxlength: 256},
    }
  });
}
   
 
   
    //校验下拉框
    function initValidForm(selector){
        $(selector+" input").val("");
        $(selector+" select option:first-child").attr("selected", true).siblings().removeAttr("selected");
        $(selector+" .has-error").removeClass("has-error").children("label.error").hide();
      }
   
    //添加模板表
    function addTemplate(){
   
     //添加
        $("#addTemplateButton").bind("click", function(){
            initValidForm("#addPolicyTemplate");
            //显示添加表单
            $("#exampleShow").empty();
            $("#addPolicyTemplate").modal('show');
            SearchOption();
          
           
        });
        initValidate();
        saveTemplateInfo();
    }
        

    //查看模板详细信息
    function  deltailTemplate(){
      //模板详细信息
          $('#example tbody').on( 'click',"button#deltailTemplate", function(){
            var data = table.row( $(this).parents('tr') ).data();
              var templateId = data['templateId'];
              $.ajax({
                'url': $.baseUrl+"/policyTemplateManager/listPolicyDictionary",
                'type': "post",
                'data': {"templateId": templateId},
                'success': function(d){
                if(d!=null){
                //清空table的内容
              $("#listDictinaryDetail").empty();
              //向table中添加一个表头信息
             var tr1=$("<tr></tr>");
             var td1=$("<td>字典名称</td>");
             var td2=$("<td>默认值</td>");
             td1.appendTo(tr1);
             td2.appendTo(tr1);
             tr1.appendTo($('#listDictinaryDetail'));
             //定义一个需要显示的列的集合
              var cols=["policyName","defaultValue"];
             //遍历后台返回的list集合
                $.each(d,function(i,obj){
              var tr=$("<tr></tr>");
                $.each(cols,function(k,v){
              var td=$("<td>"+obj[v]+"</td>");
              td.appendTo(tr);
                });
              tr.appendTo($('#listDictinaryDetail'));
                });
                //添加关闭按钮
              var tr2=$("<tr></tr>");
              var td3=$("<td></td>");
              var td4=$("<td><button type='button' class='btn btn-default' data-dismiss='modal' data-localize='close'>关闭</button></td>");
              td3.appendTo(tr2);
              td4.appendTo(tr2);
              tr2.appendTo($('#listDictinaryDetail'));
              $("#showDetailDictionary").modal('show');
                }else{
                alert("该模板暂无详情信息");
                }
                },
              });
          }); 
      }
   
   
    /**修改操作的保存事件*/
    function saveTemplateInfoForEdit() {
    // 点击保存按钮触发事件
    $("button#save_edit").bind("click", function() {
    var templateId=$("#templateName_edit").prop("name");
    // 获取表格的模板名称
    var policyTemplateName = $("#templateName_edit").val();
    var test = [];
    $.each(rightList, function(k, obj) {
    test.push(obj);
    })
    // 获取左边字典的列表[]
    var j = {
    "templateId": templateId,
    "policyTemplateName" : policyTemplateName,
    "leftChangeList" : test
    };

    // ajax修改数据库数据。成功时执行以下数据。
    $.ajax({
    'url' : $.baseUrl + "/policyTemplateInfoManager/updatePolicyTemplateInfo",
    'type' : "post",
    'contentType' : 'application/json',
    'data' : JSON.stringify(j),
    'success' : function(data) {
    if (data != null) {
    alert("保存成功!");
    $("#editDiv").modal('hide');
    table.draw();
    } else {
    alert("保存出错!");
    }
    },
    });
    });
    }

   
  //修改策略模板信息 
function edit() {
    saveTemplateInfoForEdit();
    $('#example tbody').on('click',"button#editbtn",function() {
   
    var row = table.row($(this).parents('tr'));
    // 获得要修改的行的原数据
    var data = row.data();
    //模板的ID
    var templateId = data["templateId"];
    //获取模板名称
    var templateName = data["policyTemplateName"];
    //给修改的模板的输入框的name赋值成templateId
    $("#templateName_edit").prop("name",templateId);
    $("#templateName_edit").val(templateName);
    //ajax操作查询出策略字典表中的所有的字典数据后初始到修改的左侧列表中
    $.ajax({
    'url' : $.baseUrl+ "/policyDictionaryManager/findAllPolicyDictionary",
    'type' : 'post',
    'data': {"templateId": templateId},
    'success' : function(data) {
    datas = data;
    leftList = data;
    // 页面中的table,左类别初始化true:只显示字典的名字
    initList(leftList,"templateOfRelatio_edit",leftCols);
    },
    });
    //ajax操作查询出策略字典表中的所有的字典数据后初始到修改的右侧列表中
    $.ajax({
        'url' : $.baseUrl+"/policyDictionaryManager/listPolicyDictionary?templateId="+templateId,
    'type' : 'get',
    'contentType' : "application/json",
    'success' : function(data) {
    //将查询出来的数据对右边的列表赋值
    rightList = data;
    // 右列表初始化false:全部显示
    initList(rightList, "exampleShow_edit",rightCols);
   
   
    },
    });
    //显示策略模板修改的div
    $("#editDiv").modal('show');
    });
    }


/* 修改操作 给左侧tr添加点击事件 */
//点击修改的table表格
$("#templateOfRelatio_edit").click(
function(e) {
var e = e || window.event;
var target = e.target;
$(target).parent("tr").addClass("active").siblings("tr").removeClass('active');
//右侧策略的默认值移除编辑的样式
$("#exampleShow_edit tr.active").removeClass('active');
var tId = $(target).parent("tr").prop("id");
var tr = datas[tId];
leftChangeList = {};
leftChangeList[tId] = tr;
});


/* 修改操作 给右侧tr添加点击事件 */
$("#exampleShow_edit").click(
function(e) {
var e = e || window.event;
var target = e.target;
$(target).parent("tr").addClass("active").siblings("tr").removeClass('active');
$("#templateOfRelatio_edit tr.active").removeClass('active');
var tId = $(target).parent("tr").prop("id");
var tr = datas[tId];
rightChangeList = {};
rightChangeList[tId] = tr;
})
   
/* 修改操作 给右侧tr绑定ADD事件 */
$("#btnAdd_edit").click(function() {
var isRepeat = false;
$.each(leftChangeList, function(k, v) {
$.each(rightList, function(i, obj) {
if (k == i) {
isRepeat = true;
alert("不能重复添加!");
return true;
}
})
if (isRepeat) {
return false;
}
rightList[k] = v;
})
initList(rightList, "exampleShow_edit", rightCols);
})

/* 修改操作 给右侧tr绑定DEL事件 */
$("#btnDel_edit").click(function() {
var tmpeList = {};
var isNull = true;
console.log(rightChangeList);
$.each(rightChangeList, function(k, v) {
isNull = false;
$.each(rightList, function(i, obj) {
if (k == i) {
return true;
}
tmpeList[i] = obj;
})
})
rightList = isNull ? rightList : tmpeList;
initList(rightList, "exampleShow_edit", rightCols);
})

//删除模板表
function  delTemplate(id){
if(confirm("你确定要删除吗?")){
$.ajax({
  'url': $.baseUrl+"/policyTemplateManager/deletePolicyTemplate/"+id,
  'type': "post",
  'contentType' : 'application/json', 
  'success': function(data){
if(true==data){
$('#delTemplate'+id).parent().parent("tr").remove();
alert("删除成功!");
}else{
alert("删除出错!");
}
  },
'error': function(data){
  alert("删除出错!");
  },
  });
}

}

html---->
<section>
    <div class="title _line">
        <span class="text-info">策略模板管理</span>
    </div>
    <div class="container-fluid">
        <form id="searchForm">
            <div class="searchForm clearfix">
                <div class="col-xs-8">
                    <div class="row">
                        <div class="col-xs-12">
                            <input type="text" name="policyTemplateName" class="form-control" placeholder="请输入模板名称"/>
                        </div>
                    </div>
                </div>
                <div class="col-xs-2">
                    <button type="button" class="btn btn-primary btn-block" id="searchButton">查找</button>
                </div>
                <div class="col-xs-2">
                    <button  type="button" class="btn btn-primary btn-block" id="addTemplateButton">添加</button>
                </div>
            </div>
        </form>
        <div class="list-itle text-center">
            <span>策略模板配置信息</span>
        </div>
        <table id="example" class="table table-hover table-condensed">
            <thead>
            <tr>
             <!--   <td data-localize="policyId">模板ID</td> -->
               <td data-localize="policyTemplateName">模板名称</td>
               <td data-localize="createTime">创建时间</td>
               <td data-localize="operation">操作</td>
            </tr>
            </thead>
        </table>
    </div>
</section>
<!--//添加-->
<div class="modal fade" id="addPolicyTemplate" role="modal" >
<div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button"  class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                <h4 class="modal-title" data-localize="">添加模板</h4>
            </div>
      <div class="modal-body"style="height:400px;overflow-x:auto;">
<div class="box-body">
<form role="form" class="form-horizontal" id="templateRelationForm">
<div class="container-fluid">
<div class="form-group valid">
<label for="" class="control-label" data-localize="">模版名称</label>
<input type="text" class="form-control" placeholder="请输入模版名称"
name="policyTemplateName" id="policyTemplateName" data-localize="">
<label for="policyTemplateName" class="control-label"style="display: none"></label>
</div>
<div class="col-sm-5">
<div class="panel panel-success">
<div class="panel-heading">策略字典表</div>
<table class="table table-hover" id="templateOfRelation">
</table>
</div>
</div>
<div class="col-sm-2" >
<div class="btn-center">
<button type="button" class="btn btn-primary" id="btnAdd"
data-localize="save">添加 →</button>
<hr>
<button type="button" class="btn btn-primary" id="btnDel"
data-localize="save">删除←</button>
</div>
</div>
<div class="col-sm-5">
<div class="panel panel-success">
<div class="panel-heading">字典名称-默认值</div>
<table class="table table-hover" id="exampleShow">
<thead>
<tr>
</tr>
</thead>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="saveEditTemplateInfo"
data-localize="">保存</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

<!-- 模板的详情信息 -->
<div class="modal fade" id="showDetailDictionary" role="modal">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button"  class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                <h4 class="modal-title" data-localize="">模板表配置信息详情</h4>
            </div>
            <div class="modal-body">
             <div class="box-body">
              <div class="row">
<div class="col-md-12">
<table id="listDictinaryDetail" class="table table-striped table-bordered">
                <thead>
                    </thead>
</table>
</div>
</div>
            </div>
            </div>
        </div>
    </div>
</div>

<!--修改操作  -->
<div class="modal fade" id="editDiv" role="modal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
</button>
<h4 class="modal-title" data-localize="">修改模板</h4>
</div>
<div class="modal-body" style="height:400px;overflow-x:auto;">
<div class="box-body">
<form role="form" class="form-horizontal" id="editForm">
<div class="container-fluid">
<div class="form-group valid">
<label for="" class="control-label" data-localize="">模版名称</label>
<input type="text" class="form-control" placeholder="请输入模版名称"
name=""  id="templateName_edit" data-localize="">
<label for="templateName" class="control-label"
style="display: none"></label>
</div>
<div class="col-sm-5">
<div class="panel panel-success">
<div class="panel-heading">ploicy项</div>
<table class="table table-hover" id="templateOfRelatio_edit">
</table>
</div>
</div>
<div class="col-sm-2">
<div class="btn-center">
<button type="button" class="btn btn-primary" id="btnAdd_edit"
data-localize="save">添加 →</button>
<hr>
<button type="button" class="btn btn-primary" id="btnDel_edit"
data-localize="save">删除←</button>
</div>
</div>
<div class="col-sm-5">
<div class="panel panel-success">
<div class="panel-heading">Policy值</div>
<table class="table table-hover" id="exampleShow_edit">

</table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal" data-localize="close">关闭</button>
<button type="button" class="btn btn-primary" id="save_edit"
data-localize="">保存</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>


分享到:
评论

相关推荐

    jquery验证密码强度

    标题“jquery验证密码强度”指的是使用JavaScript库jQuery来实现对用户输入密码的强度进行验证的功能。在网页表单中,为了提高用户账户的安全性,通常会要求用户设置具有一定复杂度的密码,例如包含大小写字母、数字...

    validation-jQuery验证插件

    简述jQuery验证插件validation的功能和使用

    Jquery验证框架

    **jQuery验证框架**是一种在Web开发中用于前端数据验证的工具,它极大地简化了JavaScript验证的复杂性。jQuery库的强大功能结合验证插件,能够帮助开发者创建用户友好的、响应迅速的表单验证机制,确保用户输入的...

    jquery验证框架,好用实用。。。

    **jQuery验证框架详解** jQuery Validate 是一个非常流行的前端验证插件,它为HTML表单提供了强大的验证功能。这个插件是jQuery库的一个扩展,能够帮助开发者轻松实现对用户输入数据的有效性检查,确保数据在提交前...

    jquery验证

    jQuery验证插件是基于jQuery的一个强大的插件,由Jörn Zaefferer创建并维护。该插件提供了一种简单的方式来处理表单验证,并且支持多种自定义选项和方法,使其成为前端表单验证的首选工具之一。 #### 三、基本使用...

    jquery验证包

    《jQuery验证包详解》 在Web开发中,数据验证是必不可少的一环,它能确保用户输入的数据符合预期,从而保证程序的稳定性和安全性。jQuery验证包(jQuery Validation Plugin)是jQuery库的一个强大扩展,用于方便地...

    jquery验证插件!

    ### jQuery验证插件的核心特性 1. **易用性**:jQuery验证插件最大的优点是其简单易用的API。开发者无需预先编写HTML提示信息,而是通过JavaScript代码动态设置验证规则和错误消息。 2. **灵活性**:该插件支持...

    jquery验证插件 带文档 支持中文

    jQuery验证插件是一款广泛应用于前端开发中的工具,它极大地简化了网页表单验证的过程,使得开发者可以方便地为用户输入的数据添加各种验证规则。这款插件不仅具备丰富的验证功能,而且特别强调对中文的支持,这在...

    jquery验证表单

    在本主题“jQuery验证表单”中,我们将深入探讨如何使用jQuery来实现高效、用户友好的表单验证功能。 1. **jQuery基本操作**:首先,我们需要在HTML文档中引入jQuery库。这通常通过在`&lt;head&gt;`标签内添加链接到...

    jquery验证框架学习

    【jQuery验证框架学习】 jQuery是一个广泛使用的JavaScript库,它的核心特性是简化HTML文档遍历、事件处理、动画设计和Ajax交互。本教程旨在带你深入了解jQuery验证框架,这是一套用于前端数据验证的工具,能够帮助...

    jQuery Validation Plugin1.19.5(jQuery验证插件最新)

    jQuery 插件使客户端表单验证变得容易,同时仍然提供了大量的自定义选项。如果您要从头开始构建新的东西,或者当您试图将某些东西集成到具有大量现有标记的现有应用程序中时,它都是一个不错的选择。该插件捆绑了一...

    jquery 验证插件

    表单验证类,jquery通用的验证类,jquery验证插件

    Jquery验证插件

    ### Jquery验证插件知识点详解 #### 一、概述 jQuery是一个快速、简洁的JavaScript库,使得HTML文档遍历、事件处理、动画等操作变得更加简单。通过jQuery,开发者可以更轻松地实现各种复杂的Web交互效果。jQuery的...

    jquery验证框架学习教程

    jQuery验证框架学习教程详细介绍了jQuery及其验证插件的使用方法,旨在帮助开发者快速掌握jQuery这一强大的JavaScript库,并学会如何使用其提供的验证功能来增强Web应用的用户交互体验。 首先,jQuery是一个开源的...

    jQuery验证框架

    ### jQuery验证框架详解 #### 一、概述 jQuery Validation Plugin 是一个非常强大的验证插件,它可以帮助开发者轻松地实现客户端表单验证功能。此插件是基于jQuery开发的,因此可以充分利用jQuery的强大功能来简化...

    jquery验证插件Validator

    **jQuery验证插件Validator详解** jQuery Validator是一款广泛应用于前端开发中的强大验证插件,它能够帮助开发者轻松实现表单验证,提高用户体验,确保用户输入的数据符合预设的规则。这款插件是基于jQuery库构建...

    jquery 验证 提示 插件

    本文将深入探讨"jQuery验证提示插件"的相关知识点。 首先,让我们理解什么是jQuery验证。jQuery Validation Plugin是官方提供的一个插件,主要用于创建复杂的表单验证规则,它可以轻松地添加错误消息和验证效果到...

    jQuery 验证控件

    "jQuery验证控件"是将jQuery与表单验证功能相结合的一种实现方式,旨在提供更灵活、用户友好的验证体验。 jQuery验证控件通常包括以下核心组件和特性: 1. **验证插件**:jQuery提供了许多验证插件,如jQuery ...

Global site tag (gtag.js) - Google Analytics