一,图解

二,代码

2.0,新增代码

 //打开编辑属性(新增)
     function dialog_open(){
         $("#dialog-add").css("display","block");
         $("#dname").val('');
         $("#dbz").val('');
         $("#ddefault").val('');
         $("#msgIndex").val('');
         $("#dtype").val('String');
         $("#isQian").val('是');
         $("#form-field-radio1").attr("checked",true);
         $("#form-field-radio1").click();
         $("#form-field-radio4").attr("checked",true);
         $("#form-field-radio4").click();
         $("#flength").val(255);
         $("#ddefault").attr("disabled",true);
     }

2.1,静态的数据

                     <div id="dialog-add">
                         <div class="commitopacity"></div>
                           <div class="commitbox">
                               <div class="commitbox_inner">
                                 <div class="commitbox_top">
                                     <br/>
                                     <table>
                                         <tr height="42px;">
                                             <td style="padding-left: 16px;text-align: right;">属性名:</td><td><div class="nav-search"><input class="nav-search-input" style="width:210px;" name="dname" id="dname" type="text" value="" placeholder="首字母必须为字母或下划线" title="属性名" /></div></td>
                                             <td style="padding-left: 16px;text-align: right;">属性类型:</td>
                                             <td style="padding-bottom: 5px;">
                                                 <label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio1" onclick="setType('String');" type="radio" value="icon-edit"><span class="lbl">String</span></label>
                                                 <label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio3" onclick="setType('Date');" type="radio" value="icon-edit"><span class="lbl">Date</span></label>
                                                 <label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio2" onclick="setType('Integer');" type="radio" value="icon-edit"><span class="lbl">Integer</span></label>
                                                 <label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio33" onclick="setType('Double');" type="radio" value="icon-edit"><span class="lbl">Double</span></label>
                                             </td>
                                         </tr>
                                         <tr height="42px;">
                                             <td style="padding-left: 16px;text-align: right;">其备注:</td><td><div class="nav-search"><input class="nav-search-input" style="width:210px;" name="dbz" id="dbz" type="text" value="" placeholder="例如 name的备注为 '姓名'" title="备注"/></div></td>
                                             <td style="padding-left: 16px;text-align: right;">前台录入:</td>
                                             <td>
                                                 <div style="float: left;padding-top: 3px;">
                                                 <label style="float:left;padding-left: 20px;"><input name="form-field-radioq" id="form-field-radio4" onclick="isQian('是');" type="radio" value="icon-edit" checked="checked"><span class="lbl">是</span></label>
                                                 <label style="float:left;padding-left: 20px;"><input name="form-field-radioq" id="form-field-radio5" onclick="isQian('否');" type="radio" value="icon-edit"><span class="lbl">否</span></label>
                                                 </div>
                                                 <div class="nav-search" style="float: right;padding-right: 5px;">
                                                     长度:<input class="nav-search-input" style="width:66px;" name="flength" id="flength" type="number" value="" placeholder="长度" title="长度" />
                                                         . <input class="nav-search-input" style="width:50px;" name="decimal" id="decimal" type="number" value="" placeholder="小数" title="类型为Double时有效" />
                                                 </div>
                                             </td>
                                         </tr>
                                         <tr height="42px;">
                                             <td style="padding-left: 16px;text-align: right;">默认值:</td><td><div class="nav-search"><input class="nav-search-input" style="width:210px;" name="ddefault" id="ddefault" type="text" value="" disabled="disabled" placeholder="后台附加值时生效" title="默认值"/></div></td>
                                             <td style="padding-left: 16px;text-align: right;"></td>
                                             <td>
                                             <div class="commitbox_cen">
                                                 <div class="left" id="cityname"></div>
38                                                 <div class="right" style="padding-right: 28px;"><span class="save" onClick="saveD()">保存</span>&nbsp;&nbsp;<span class="quxiao" onClick="cancel_pl()">取消</span></div>
                                             </div>
                                             </td>
                                         </tr>
                                         <tr>
                                             <td style="padding-left: 16px;" colspan="100">
                                                 <font color="red" style="font-weight: bold;">
                                                     注意:<br/>
                                                       1. 请不要添加  XX_ID 的主键,系统自动生成一个32位无序不重复字符序列作为主键<br/>
                                                       2. 主键为  类名_ID 格式,所有字段的字母均用大写
                                                 </font>
                                             </td>
                                         </tr>
                                     </table>
                                 </div>
                               </div>
                           </div>
                     </div>

2.2,点击保存之后的代码

     function saveD(){

         var dname = $("#dname").val();               //属性名
         var dtype = $("#dtype").val();               //类型
         var dbz      = $("#dbz").val();                 //备注
         var isQian = $("#isQian").val();          //是否前台录入
         var ddefault = $("#ddefault").val();      //默认值
         var msgIndex = $("#msgIndex").val();      //msgIndex不为空时是修改
         var flength = $("#flength").val();           //长度
         var decimal = $("#decimal").val();           //小数

         if(dname==""){
             $("#dname").tips({
                 side:3,
                 msg:'输入属性名',
                 bg:'#AE81FF',
                 time:2
             });
             $("#dname").focus();
             return false;
         }else{
             dname = dname.toUpperCase();        //转化为大写
             if(isSame(dname)){
                 var headstr = dname.substring(0,1);
                 var pat = new RegExp("^[0-9]+$");
                 if(pat.test(headstr)){
                     $("#dname").tips({
                         side:3,
                         msg:'属性名首字母必须为字母或下划线',
                         bg:'#AE81FF',
                         time:2
                     });
                     $("#dname").focus();
                     return false;
                 }
             }else{
                 if(msgIndex != ''){
                     var hcdname = $("#hcdname").val();
                     if(hcdname != dname){
                         if(!isSame(dname)){
                             $("#dname").tips({
                                 side:3,
                                 msg:'属性名重复',
                                 bg:'#AE81FF',
                                 time:2
                             });
                             $("#dname").focus();
                             return false;
                         };
                     };
                 }else{
                     $("#dname").tips({
                         side:3,
                         msg:'属性名重复',
                         bg:'#AE81FF',
                         time:2
                     });
                     $("#dname").focus();
                     return false;
                 }
             }
         }

         if(dbz==""){
             $("#dbz").tips({
                 side:3,
                 msg:'输入备注',
                 bg:'#AE81FF',
                 time:2
             });
             $("#dbz").focus();
             return false;
         }

         if((0-flength >=0) || flength==""){
             $("#flength").tips({
                 side:3,
                 msg:'输入长度',
                 bg:'#AE81FF',
                 time:2
             });
             $("#flength").focus();
             return false;
         }

         if('' == decimal) decimal = 0;

         dbz = dbz == '' ? '无':dbz;
         ddefault = ddefault == '' ? '无':ddefault;
         var fields = dname + ',fh,' + dtype + ',fh,' + dbz + ',fh,' + isQian + ',fh,' + ddefault + ',fh,' + flength + ',fh,' + decimal;

         if(msgIndex == ''){
             arrayField(fields);
         }else{
             editArrayField(fields,msgIndex);
         }
         $("#dialog-add").css("display","none");
     }
 function appendC(value){
         var fieldarray = value.split(',fh,');
         $("#fields").append(
             '<tr>'+
             '<td class="center">'+Number(index+1)+'</td>'+
             '<td class="center">'+fieldarray[0]+'<input type="hidden" name="field0'+index+'" value="'+fieldarray[0]+'"></td>'+
             '<td class="center">'+fieldarray[1]+'<input type="hidden" name="field1'+index+'" value="'+fieldarray[1]+'"></td>'+
             '<td class="center">'+fieldarray[5]+'<input type="hidden" name="field5'+index+'" value="'+fieldarray[5]+'"></td>'+
             '<td class="center">'+fieldarray[6]+'<input type="hidden" name="field6'+index+'" value="'+fieldarray[6]+'"></td>'+
             '<td class="center">'+fieldarray[2]+'<input type="hidden" name="field2'+index+'" value="'+fieldarray[2]+'"></td>'+
             '<td class="center">'+fieldarray[3]+'<input type="hidden" name="field3'+index+'" value="'+fieldarray[3]+'"></td>'+
             '<td class="center">'+fieldarray[4]+'<input type="hidden" name="field4'+index+'" value="'+fieldarray[4]+'"></td>'+
             '<td class="center" style="width:100px;">'+
                 '<input type="hidden" name="field'+index+'" value="'+value+'">'+
                 '<a class="btn btn-mini btn-info" title="编辑" onclick="editField(\''+value+'\',\''+index+'\')"><i class="ace-icon fa fa-pencil-square-o bigger-120"></i></a>&nbsp;'+
                 '<a class="btn btn-mini btn-danger" title="删除" onclick="removeField(\''+index+'\')"><i class="ace-icon fa fa-trash-o bigger-120"></i></a>'+
             '</td>'+
             '</tr>'
         );
         index++;
         $("#zindex").val(index);
     }

     //保存属性后往数组添加元素
     function arrayField(value){
         arField[index] = value;
         appendC(value);
     }
     

主要的逻辑还是看整体代码,这里是主要的代码

动态添加弹出页面(shiro项目中来的七)的更多相关文章

  1. 权限的分类(shiro项目中来的五)

    第一种权限:菜单栏展示还是不展示的权限(粗颗粒) 实现方法,在SYS_ROLE表中添加一个字段rights,通过 public static BigInteger sumRights(String[] ...

  2. iOS-C文件添加到iOS项目中,运行报错

    iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...

  3. 将HTML字符转换为DOM节点并动态添加到文档中

    将HTML字符转换为DOM节点并动态添加到文档中 将字符串动态转换为DOM节点,在开发中经常遇到,尤其在模板引擎中更是不可或缺的技术. 字符串转换为DOM节点本身并不难,本篇文章主要涉及两个主题: 1 ...

  4. COM动态添加删除成员,类似JavaScript中调用的对象

    在JavaScript中调用对象时,可动态添加删除成员如: var obj=new Object; obj.member1='aaaaa'; obj.fun1=function() { alert(' ...

  5. zookeeper动态添加/删除集群中实例(zookeeper 3.6)

    一,用来作为demo操作的zookeeper集群中的实例: 机器名:zk1 server.1=172.18.1.1:2888:3888 机器名:zk2 server.2=172.18.1.2:2888 ...

  6. setBit testBit权限管理(shiro项目中来的二)

    一,setBit testBit权限管理的理解 1.1.jdk7文档解释 public boolean testBit(int n)Returns true if and only if the de ...

  7. 项目中的Git七步精髓

    项目中Git常用的七步操作: 1.git branch -a  查看所有分支 2.git checkout dev_yxq 如果冲突了,操作回退上一个版本, git status git checko ...

  8. java自带的类压缩和下载,以及递归删除动态的文件(shiro项目中来的十)

    详见项目,不用借助于任何外在的jar包,通过jre自带的实现.

  9. shiro的登陆认证(shiro项目中来的一)

    一,图解 二,流程 2.1,创建token令牌,token中有用户提交的认证信息即账号和密码 Subject subject = SecurityUtils.getSubject(); Usernam ...

随机推荐

  1. Spring基础篇——通过Java注解和XML配置装配bean

    自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应用程序维护,而是引用了第三方的类库,这个时候自动装配便无法实现,Spring对此也提供了相应的解决方案 ...

  2. GitHub入门与实践

    基本命令 git status 工作区状态 git add git commint 暂存区 git push gitHub客户端 下载网址:https://desktop.github.com/ 解决 ...

  3. MySQL事务处理案例演示

    <?php $mysqli=new mysqli("localhost", "root", "123456", "xsphp ...

  4. Asp.net中Request.Url的各个属性对应的意义介绍

    Asp.net中Request.Url的各个属性对应的意义介绍 本文转载自 http://www.jb51.net/article/30254.htm 网络上关于Request.Url的说明已经很多也 ...

  5. 使用js dom和jquery分别实现简单增删改

    <html><head> <meta http-equiv="Content-Type" content="text/html; chars ...

  6. NDK开发,如何配置 debug环境

    刚开始做NDK 开发的时候,Android Studio 还没提供了 native C/C++ 设置断点 调试,我们都是通过输出 日志来调试,这样费时耗力.Android Studio 应该是在 2. ...

  7. [记录]Python2.7使用argparse模块

    # -*- coding: utf8 -*- import argparse #ArgumentParser.add_argument(name or flags-[, action][, nargs ...

  8. hibernate学习(六) flush()和clean()区别和使用

    session.flush()是强制和数据库同步 session.clean()是清除session中的缓存 对于批量数据插入的时候优化:减少cpu和内存(缓存)占用量 @Test public vo ...

  9. LRU最近最少使用算法

    最近最少使用算法有两种实现方式: (1)记时法:对于每一页增设一个访问时间计时器.每当一个页面被访问时,当时的绝对时钟内容被复制到对应的访问时间计时器中.这样系统就记录了内存中所有页面最后一次被访问的 ...

  10. uva 116 单向TSP

    这题的状态很明显. 转移方程就是 d(i,j)=min(d(i+1,j+1),d(i,j+1),d(i-1,j+1)) //注意边界 我用了一个next数组方便打印结果,但是一直编译错误,原来是不能用 ...