`
tianke66
  • 浏览: 188083 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

动态增加表格

阅读更多

<%@page language="java" contentType="text/html; charset=utf-8"%>
<%@taglib uri="/tags/struts-html" prefix="html"%>
<%@taglib uri="/tags/struts-logic" prefix="logic"%>
<%@taglib uri="/tags/struts-bean" prefix="bean"%>
<%@taglib uri="/tags/spsoft" prefix="sp" %>
<%@page import="java.math.BigDecimal"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/global/head.jsp"/>
<title>明细</title>
<link href="<%=request.getContextPath()%>/global/css/layout.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="<%=request.getContextPath()%>/global/js/openPopWin.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/global/js/scrollmenu.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/global/scripts/cash.js"></script>
<script language="javascript">
var selTr;
//初始化属性
function init(){

}

//添加一行
function addTr(type){ 
  var tr = document.getElementById( "oTbody" ).childNodes[0];
  var newTr = tr.cloneNode(true);
  var length = document.getElementById( "oTbody" ).childNodes.length;

  newTr.getAttributeNode("id").nodeValue += length;
  newTr.style.display = "";
 
  newTr.onclick=function(){
    selTr=newTr;
  } 
 
  length=length+1;
  newTr.childNodes[0].getElementsByTagName("input")[0].value=length;

  newTr.childNodes[2].getElementsByTagName("input")[1].onchange=function(){
    var otherzhi=new Number(document.getElementById( "other" ).value);
    var oldzhi=new Number(newTr.childNodes[2].getElementsByTagName("input")[0].value);
    var zhi=new Number(newTr.childNodes[2].getElementsByTagName("input")[1].value);
    //alert(zhi);
    //alert(otherzhi+oldzhi-zhi);
    if(zhi<0){   
      spAlert("明细值不能为负数!");
      newTr.childNodes[2].getElementsByTagName("input")[1].value="";
      newTr.childNodes[2].getElementsByTagName("input")[1].focus();        
    }
    if(otherzhi+oldzhi-zhi>0){
      document.getElementById( "other" ).value=otherzhi+oldzhi-zhi;   
    }else{
      spAlert("明细值过大!");     
      newTr.childNodes[2].getElementsByTagName("input")[1].value="";
      newTr.childNodes[2].getElementsByTagName("input")[1].focus();   
    }   
  }
 
  var trs = document.getElementById( "oTbody" ).rows.length;
  if(selTr!= null&&type==2&&(selTr.rowIndex+1!=trs)){
   var firsttr = selTr.nextSibling;
   firsttr.insertAdjacentElement ("beforeBegin",newTr);
  }else
     document.getElementById( "oTbody" ).appendChild(newTr);
}


//删除选中的行
function delTr(){
  if( selTr == null ){
    spAlert( "请选择删除行!" );
    return;
  }
  //修改值
  var oldzhi=new Number(document.getElementById( "other" ).value);
  var zhi=new Number(selTr.childNodes[2].getElementsByTagName("input")[0].value);
  document.getElementById( "other" ).value=oldzhi+zhi;  
 
  //删除
  selTr.parentNode.removeChild(selTr);
  selTr = null;
 
  //修改序号
  var length = document.getElementById( "oTbody" ).childNodes.length;
  for(i=0;i<length;i++){
    var tr = document.getElementById( "oTbody" ).childNodes[i];   
    tr.getElementsByTagName("input")[0].value=i+1;
  }
}

//退出
function exit(){
       alert("退出123");
//     this.opener.location.reload();
//     window.close();  
}

function onOk(){   
    var oldzhi=new Number(document.getElementById( "other" ).value);   
    if(oldzhi<0){
      spAlert("其他项上的值必须>=0");
      return;
    }
    var length = document.getElementById( "oTbody" ).childNodes.length;
 for(i=1;i<length;i++){
    var tr = document.getElementById( "oTbody" ).childNodes[i];   
    if(tr.getElementsByTagName("input")[1].value==""){
      spAlert("必须填写摘要!");
      tr.getElementsByTagName("input")[1].focus();
         return;
    } 
    var zhi=new Number(tr.getElementsByTagName("input")[3].value); 
    if(zhi<0||tr.getElementsByTagName("input")[2].value==""){
      spAlert("每一行都必须有值!");
      tr.getElementsByTagName("input")[3].focus();
         return;
    }   
 }
 window.close();
}

</script>
</head>

<body class="bodyspace-frame" onunload="exit();" >

<!--  Begin of the tools_bar -->
<table width="100%" border="0" align="center"  valign="top" cellpadding="0" cellspacing="0" >
   <tr>
 <td  colspan="2" >
 <table width="100%"  height="40" class="bg_lowgreen" border="1" bordercolorlight="#006666" bordercolordark="#FFFFFF"  cellpadding="0" cellspacing="0" style="MARGIN:  3px 0px 3px 0px;">
 <tr align="left" >
       <td><div id="toolbar" style="padding:4px;">
      <div class="toolsiconarea" id="add" onclick="addTr(1)"> <span class="box"><a href="#"><img src="<%=request.getContextPath()%>/global/images/t_add.gif" width="18" height="18" ></a></span>
                  <div style="cursor:pointer;">添加</div>
              </div>
              <div class="toolsiconarea" id="delTr" onClick="delTr()"> <span class="box"><a href="#"><img src="<%=request.getContextPath()%>/global/images/t_sub.gif" width="18" height="18"></a></span>
                  <div style="cursor:pointer;">删除</div>
              </div>
       <div class="toolsiconarea" onclick="onOk()"> <span class="box"><a href="#"><img src="<%=request.getContextPath()%>/global/images/tools_ok.gif" width="18" height="19"></a></span>
     <div style="cursor:pointer;">确定</div>
    </div>
    </div>
      </td>
       </tr>
      </table>    
      </td>
  </tr>
  </table>
<!--  End of the tools_bar -->

 <!--显示记录表单-->
  <div  align="center" style="overflow:auto; width:100%; height:555px; border:1px solid #cccccc;" >       
          <table width="100%" height="69" border="0" cellpadding="0" cellspacing="0">
              <tr>             
                <td width="30%">
                <div align="left">现金预算项目</div>
    </td>
                <td width="30%"><div align="left"></div></td>
                <td width="30%"><div align="left"></div></td>              
              </tr>
              <tr>
                <td><div align="left">期间:
    <logic:equal name="budPrd" value="YY">
     年
    </logic:equal>
    <logic:equal name="budPrd" value="SE">
     季
    </logic:equal>
    <logic:equal name="budPrd" value="MM">
     月
    </logic:equal>
    <logic:equal name="budPrd" value="WK">
     周
    </logic:equal>           
                </div></td>
                <td><div align="left">金额:<bean:write name='cashUnit'/></div></td>
                <td><div align="left">小数位数:<bean:write name='cashDecimal'/></div></td>                   
              </tr>
          </table>
          <div  style="overflow-y:scroll; width:100%; height:290px;" >
          <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#666666">
              <tr bgcolor="#FFFFFF">
                <td width="10%" height="40"><div align="center">序号</div></td>
                <td width="60%"><div align="center">摘要</div></td>
                <td width="30%"><div align="center">金额</div></td>
              </tr>
              <tr bgcolor="#FFFFFF">
                <td width="10%" height="20"><div align="center">1</div></td>
                <td width="60%"><div align="center">其他</div></td>
                <td width="30%">
                <div align="center">
                <!--
                <input type="text" name="other" class="textinput"  style="width:90;ime-mode: disabled;text-align:right" value="100" readonly/>
                 -->
                <sp:cashtext2 style="width:90px;text-align:right;" name="other" className="textInput" value="100"/>
                </div>
                </td>                       
                </tr>                      
          </table>         
          <table width="100%" border="0" align="left" cellpadding="0" cellspacing="1" bgcolor="#666666">                    
          <tbody id="oTbody" style="width:100%">
            <tr bgcolor="#FFFFFF" id="tr" search="false" style="display:none" delete="true">
              <td width="10%" align="center">
                <input id="rownum" type="text" class="textinput" style="width:20px;ime-mode: disabled;text-align:center" readonly>
              </td>
              <td width="60%" align="center">
                <input type="text" name="mingcheng" class="textinput" style="width:180;ime-mode: disabled;text-align:left" />               
              </td>
              <td width="30%" align="center">
                <!--
                <input type="text" name="zhi" class="textinput"  style="width:90;ime-mode: disabled;text-align:right"  />
                 -->
                <sp:cashtext2 style="width:90px;text-align:right;" name="zhi" className="textInput"/>
              </td>
            </tr>
            </tbody>
          </table>                
  </div>
  </div>
</body>
</html>
 

分享到:
评论

相关推荐

    在word中动态增加表格并写入数据

    4. **添加表格行方法**: ```csharp public void AddRow0(int n, int num, WriteToWord.Result parameter[] rp) { object miss = System.Reflection.Missing.Value; Word.Table table = wordDoc.Content.Tables...

    android动态添加表格行_动态布局.zip

    在Android开发中,动态添加表格行是一个常见的需求,特别是在创建数据列表或者展示可变数据时。这个主题主要涉及Android的布局管理和控件操作。本文将深入探讨如何在Android应用中实现这一功能,主要包括以下几个...

    android动态添加表格行

    在Android开发中,动态添加表格行是一个常见的需求,特别是在创建数据展示或者用户输入表单时。这个场景通常涉及到`TableLayout`布局,它是Android提供的一个用于构建网格样式的视图容器。下面我们将深入探讨如何在...

    JQuery_可拖曳动态添加表格、动态排序

    JQuery 可拖曳动态添加表格、动态排序 JQuery 是一个流行的 JavaScript 库,提供了丰富的功能来简化 Web 开发。今天,我们将探讨如何使用 JQuery 实现可拖曳动态添加表格、动态排序的功能。 可拖曳动 可拖曳动是 ...

    动态添加表格并有表格的边框效果

    在IT领域,尤其是在Web开发和移动应用开发中,动态添加表格是一种常见的需求,它允许用户在运行时根据需要创建和修改表格结构。本知识点主要关注如何实现“动态添加表格并有表格的边框效果”,这通常涉及到编程语言...

    js动态添加表格

    javascript实现动态的添加表格功能

    动态添加Table表格

    本示例将详细介绍如何在ASP.NET后台使用C#语言来实现动态添加表格的功能。 首先,我们需要了解动态创建表格的基本步骤: 1. **创建表格对象**:在C#代码中,使用`new`关键字创建一个`HtmlTable`对象,这是ASP.NET...

    jQuery+ajax实现动态添加表格tr td功能示例

    ### jQuery+ajax实现动态添加表格tr td功能 在进行Web开发时,我们经常需要动态地从服务器获取数据,并将这些数据展示在网页上。表格是展示这些数据的一种常见形式。本文将详细解析使用jQuery和ajax技术来实现动态...

    JavaScript实现动态添加表格中的行

    在JavaScript编程中,动态添加表格行是一个常见的需求,特别是在数据可视化或者用户交互丰富的网页应用中。这个功能允许我们在用户操作或者接收到服务器数据时,实时地向HTML表格中插入新的行,更新显示的信息。以下...

    js动态增加表格行

    js增加动态表格,点击增加就增加一行,点击删除就删除一行,每行前面有勾选框,可以勾选,删除多行

    动态添加表格实例_aspx开发教程.rar

    在ASP.NET Web Forms开发中,动态添加表格是一个常见的需求,特别是在数据展示或用户输入场景下。这个"动态添加表格实例_aspx开发教程"应该详细介绍了如何在ASPX页面上实现这样的功能。动态表格允许开发者根据需要在...

    layui表格动态添加|layui表格可编辑

    layui表格动态添加|layui表格可编辑动态添加

    原生js可编辑表格实现动态添加表格行数和删除表格行数

    在JavaScript(JS)中,创建一个可编辑的表格并实现动态添加和删除行的功能是一项常见的需求,尤其是在构建数据管理界面时。以下将详细介绍如何利用原生JavaScript实现这一功能。 首先,我们需要在HTML中创建一个...

    动态 添加 表格 table

    动 态 添 加 表 格 动态添加表格 动态添加表格 动态添加表格

    javascript动态添加表格数据行

    在JavaScript编程中,动态添加表格数据行是一种常见的需求,特别是在构建交互式的Web应用程序时。这个功能允许用户在不刷新整个页面的情况下添加新的记录,提高了用户体验。在这个例子中,我们将探讨如何利用...

    Android应用源码之android动态添加表格行-IT计算机-毕业设计.zip

    在Android应用开发中,动态添加表格行是一种常见的需求,特别是在数据展示或者用户交互场景下。这个"Android应用源码之android动态添加表格行"的压缩包文件提供了相关的示例代码,对于正在做毕业设计或者想要深入...

    动态添加表格和删除表格.html

    动态添加表格和删除表格.html

    动态添加js,动态添加表格和删除表格,批量添加记录,批量添加

    动态添加js,动态添加表格和删除表格,批量添加记录,批量添加

    点击按钮,动态添加表格

    通过按钮事件,实现动态添加表格元素,可以获得更多的表格

Global site tag (gtag.js) - Google Analytics