jquery对table中各种数据的增加、保存、删除操作

像这种页面,我们往往不是通过提交表单来处理这些数据,因为如果在后台去遍历处理这些大量的数据是非常繁琐的;比较好的做法是在前台页面中将数据以对象形式保存在json中,然后在后台直接将json转换成我们需要的对象,这样我们的直接可以处理对象了!

添加按钮 
<input name="button" type="button" value="添加" onClick="addRowForPswdBasicFillTemplate('pswd_basic_fill_template')">

table  id是pswd_basic_fill_template

添加方法

  function addRowForPswdBasicFillTemplate(tid){
           var applyAreaOptionStr = $('#applyAreaOptionStr').val();  //这里是对select框的一些初始化
           did = tid;
             var tr = $("<tr></tr>").attr("bgcolor","#FFFFFF");
           tr.append($("<td></td>").html("<input type='radio' name='radio' value='checkbox'></td>"));
           tr.append($("<td></td>").html(""));
           tr.append($("<td></td>").html("<input type='text' name='index_name' id='index_name' />"));
           tr.append($("<td></td>").html(""));
           tr.append($("<td></td>").html("<select name='apply_Area' id='apply_Area'>"+applyAreaOptionStr+"</select>"));
           tr.append($("<td></td>").html("<select name='index_species' id='index_species'>"+$("#indexSpeciesHtml").val()+"</select>"));
           tr.append($("<td></td>").html("<textarea maxlength='500' rows='3' cols='20'  name='formula' id='formula'/>"));
           tr.append($("<td></td>").html("<input type='text' name='cap' id='cap'  size='5'/>"));
           tr.append($("<td></td>").html("<input type='text' name='base_value' id='base_value' size='5'/>"));
           tr.append($("<td></td>").html("<input type='hidden' id='orgid' name='orgid' />
           <select name='assessOrg' id='assessOrg'>"+$("#assessOrgHtml").val()+"</select>"));
           tr.appendTo($("#"+tid));
           setRowNumber_1(tid);   //保存编号,上移下移操作会用到 ,先不关注
   }


保存按钮 
<input name="button" type="button" value="保存" onClick="savePswdBasicFillTemplate('pswd_basic_fill_template')">

保存方法

 function savePswdBasicFillTemplate(tid){
          did = tid;
          var result = getPswdBasicFillTemplate();    //封装数据操作,请仔细看
      if(result){
              /*
             if(pswd_basic_fill_template.length<1){
                 showInfo("请添加基础数据标准");
                 return;
             }
             */
             
             for(var i=0;i<pswd_basic_fill_template.length;i++){
                pswd_basic_fill_template[i]=JSON.stringify(pswd_basic_fill_template[i]);
             }
            $.post("<c:url value='/secbasicFillTemplate/save'/>",{"tempLateList":"["+pswd_basic_fill_template+"]"},
                function(data) {
                     if("false"==data){
                        showInfo("请先保存基础信息!");
                     }else{
                         //delAllTr("pswd_basic_fill_template"); //删除行
                        showInfo("保存成功!")
                        if(did!="fjsjbz"){
                            changeTaskType(tid);
                        }
                    }
            });
      }
      }

    //基础填报模版
    var pswd_basic_fill_template = {};
    //要删除的tableId
    var did = "pswd_basic_fill_template";

   //获取模板值

   function getPswdBasicFillTemplate(){

     pswd_basic_fill_template=[];

     var trs=eval("$(\"#"+did + " tbody tr\")");

     var result=true;

     $.each(trs,function(i,tr){

             var order = $(tr).find("td:nth-child(2)").text();

             var indexCode = $(tr).find("input[name='index_code']").val();

             var indexName = $(tr).find("input[name='index_name']").val();

             var indexType = $(tr).find("select[name='index_type']").find("option:selected").text();

             var indexSpecies = $(tr).find("select[name='index_species']").find("option:selected").text();

             var formula = $(tr).find("textarea[name='formula']").val();

             var cap = $(tr).find("input[name='cap']").val();

             var baseValue = $(tr).find("input[name='base_value']").val();

             var assessOrg = $(tr).find("select[name='assessOrg']").val();

             var assessOrgName = $(tr).find("select[name='assessOrg']").find("option:selected").text();

             var idObj = $(tr).find("input[name='idObj']").val();

             var indexValue = $(tr).find("input[name='index_value']").val();

             var templateType = "2";

             if(did=="zdppbzlb"){

                 templateType = "3";

                 

             }else if(did=="fjsjbz"){

                 templateType = "4";

                 assessOrg = $(tr).find("select[name='countyOrg']").val();

             }

             var taskType = $("#task_type").val();

             if(indexCode.length<1){

                 showInfo("指标名称不能为空");

                 result = false;

                 return false;

             }

             if(indexName.length<1){

                 showInfo("指标代号不能为空");

                 result = false;

                 return false;

             }

             

             var postIndexId = $('#postIndex').val();

             var postIndexName = $('#postIndex').find("option:selected").text();

             var applyAreaId = $(tr).find("select[name='apply_Area']").val();

             var applyAreaName = $(tr).find("select[name='apply_Area']").find("option:selected").text();

             

            var pswd_basic_fill_templateBean={

               "postIndexId":postIndexId,"postIndexName":postIndexName,"applyAreaId":applyAreaId,"applyAreaName":applyAreaName,

               "indexCode":indexCode,"templateType":templateType,"indexValue":indexValue,

               "indexName":indexName,"taskType":taskType,"order":order,"id":idObj,"baseValue":baseValue,

               "indexSpecies":indexSpecies,"formula":formula,"cap":cap,"orgName":assessOrgName,"orgid":assessOrg

            }

            pswd_basic_fill_template.push(pswd_basic_fill_templateBean);

     })

     return result;

  }

前台的操作就完成了,下面看一看后台的操作

struts配置文件

        <method name="save" uri="/secbasicFillTemplate/save">
            <result name="success" type="redirect">@list</result>
            <result name="failed">secassessment/basicFillTemplate/basicFillTemplateNew</result>
        </method>

后台操作

     public void save() {
        String obj = request().getParameter("tempLateList");
            List<SecBasicFillTemplate> result = JSonUtil.paserJsonArray(SecBasicFillTemplate.class,obj);
          //将json转化为对象
    }

下面看看删除操作

删除按钮 <input name="button" type="button" value="删除" onClick="delRowForSpacialById('pswd_basic_fill_template')" >

  //删除一行的数据

  function delRowForSpacialById(tid){

        var selObj=getSelRowJnSpacial(tid);

        if(selObj){

            var result = confirm("确定将记录删除?");

             if(result){

                 var id = selObj.parent().parent();

                 var idValue = id.find("input[name='idObj']").val();

                 if(idValue!=null && idValue.length>0){

                     $.post("<c:url value='/secbasicFillTemplate/delete'/>",{"ids":idValue},function(){

                         selObj.parent().parent().remove();

                     })

                 }else{

                     selObj.parent().parent().remove();

                 }

             }

      }

  }

  // 获取选中的行

   function getSelRowJnSpacial(tid){

       var selObj=eval("$(\"#"+tid+" input[@type=radio][checked]\")");

       if(selObj.html()!=null){

             return selObj;

       }else{

             showInfo("请选择要操作的行");

             return null;

       }

  }

struts 配置文件       

       <method name="delete" uri="/secbasicFillTemplate/delete" >
            <result name="success" type="redirect">@list</result>
        </method>

后台方法

    public void delete(String ids) {
       //方法
    }

上移下移功能

按钮

<input name="button" type="button" value="上移" onClick="moveBefore('pswd_basic_fill_template')">
<input name="button" type="button" value="下移" onClick="moveAfter('pswd_basic_fill_template')">

  //上移行

function moveBefore(tid){

    did =tid;

     var selObj= $("input:radio[checked]");

     if(selObj==null){

         showInof("请选择要移动的行");

     }else{

         var rowIndex = selObj.parent().parent()[0].rowIndex;

         if(parseInt(rowIndex)<=2){

            showInfo("已经到顶,不能再上移了");

            return;

         }

         var preObj=selObj.parent().parent().prev();

         var selRow=selObj.parent().parent().clone();

         preObj.before(selRow);

         selObj.parent().parent().remove();

         setRowNumber_1_1(did);

     }

}

 function setRowNumber_1_1(tid){

      var fNew = 1;    

      var expression="$(\"#"+tid+" tbody tr\")";

      var tbody=eval(expression);

      $.each(tbody,function(i,tr){

        if(i>=0){

              var number=i+1;

              $(tr).find("td:nth-child(2)").text(number);

         }

    })

}


//下移行

function moveAfter(tid){

    did =tid;

     var selObj= $("input:radio[checked]");

     if(selObj==null){

         showInof("请选择要移动的行");

     }else{

             var r1 = selObj.parent().parent()[0].rowIndex;

             var a1 = eval("$(\"#"+did+" tbody tr\")").size();

          if(parseInt(selObj.parent().parent()[0].rowIndex)-1 >= a1){

            showInfo("已经到最后一行,不能再下移了");

            return;

         }

         

         var nextObj=selObj.parent().parent().next();

         var selRow=selObj.parent().parent().clone();

         nextObj.after(selRow);

         selObj.parent().parent().remove();

         setRowNumber_1_1(tid);  

     }
}  

//设置rowNumber的序号

   function setRowNumber_1(tid){

         var fNew = 1;    

      var expression="$(\"#"+tid+" tbody tr\")";

      var tbody=eval(expression);

      $.each(tbody,function(i,tr){

        if(i>=0){

              var idObj = $(tr).find("input[name='idObj']").val();

              var f = $(tr).find("td:nth-child(4)").find("input[name='index_code']").val();

              if(f!=null){

                  var f1 = f.substring(1);

                  if(f1>=0){

                      fNew = parseInt(f1)+1;

                  }

              }

              var number=i+1;

              $(tr).find("td:nth-child(2)").text(number);

              

              if(idObj==null && f==null){

                  var fValue = "<input id='index_code' name='index_code' value='F"+fNew+"' readonly='true'  size='5'>";

                  if(tid=="zdppbzlb"){

                      fValue = "<input id='index_code' name='index_code' value='K"+fNew+"' readonly='true'  size='5'>";

                  }

                  $(tr).find("td:nth-child(4)").html(fValue);

                  $(tr).find("td:nth-child(5)").html($("#selectHtml").val());

                  

                  

                  //var assessOrgHtml = "<input type='hidden' name='orgid' id='orgid'></input>"+$("#assessOrgHtml").val();

                  //$(tr).find("td:last-child").html(assessOrgHtml);

              }

          }

      })

  }





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值