页面动态添加表格以及后台解析

1、页面部分

<tr valign="bottom">
                        <td colspan="4">
                            <table width="80%" align="center" id="addNewTable">
                                <thead>
                                    <tr align="center">
                                        <td width="25%">参与人</td>
                                        <td width="25%">公司名称</td>
                                        <td width="25%">联系方式</td>
                                        <td width="25%">公司地址</td>
                                    </tr>
                                </thead>
                                <tbody id="addNewTbody">

                                </tbody>
                                <tfoot align="center">
                                    <tr>
                                        <td colspan="4"><input type="button" value="添加"
                                            onclick="addTr();">
                                        </td>
                                    </tr>
                                </tfoot>
                            </table>
                        </td>
    </tr>

2、js部分处理动态表格数据
我这里是在from里面添加了一个整合字段,然后后台解析数据。

//添加动态表格。
function addTr() {
        var insertSpareEpt = document.getElementById("addNewTbody");
        //创建一个tr
        var newChild = document.createElement("tr");
        //可以添加样式
        newChild.innerHTML = "<td><input type='text' id='partiCipant'  style='width: 100%;height: 40px' name='partiCipant'/></td><td><input type='text' style='width: 100%;height: 40px' id='invCompany' name='invCompany'/></td><td><input type='text' style='width: 100%;height: 40px' id='biPhone' name='biPhone' /></td><td><input type='text' id='companyAddress'  style='width: 100%;height: 40px' name='companyAddress'/></td><td><input type='button' value='删除' onclick='deleteTrShow(this)'/><span id='typepro'></span></td>";
        insertSpareEpt.appendChild(newChild);
}
//删除动态添加的表格
function deleteTrShow(obj) {
        var insertSpareEpt = document.getElementById("addNewTbody");
        var row = obj.parentNode.parentNode; //所在行
        var rowIndex = row.rowIndex; //A标签所在行下标
        insertSpareEpt.deleteRow(rowIndex - 1); //删除当前行
        tableData();
}
// 整合动态表格数据。
function tableData() {
        var list = [];
        //获取到标签tr
        var trList = $("#addNewTbody").children("tr")
        //循环遍历
        for ( var i = 0; i < trList.length; i++) {
            var arr = {};
            //循环获取每个td
            var tdArr = trList.eq(i).find("td");
            //赋值
            var partiCipant = tdArr.eq(0).find("input").val()
            var invCompany = tdArr.eq(1).find("input").val()
            var biPhone = tdArr.eq(2).find("input").val()
            var companyAddress = tdArr.eq(3).find("input").val()
            //给数组的每个元素赋值
            arr["partiCipant"] = partiCipant;
            arr["invCompany"] = invCompany;
            arr["biPhone"] = biPhone;
            arr["companyAddress"] = companyAddress;
            list.push(arr);
        }
        //转化成json通过from表单提交。
        document.getElementById("bqContent").value = JSON.stringify(list);
}
//之后调用保存的方法。
function add(saveType) {
        adds();
        tableData();
        document.forms[0].action ="<%=basePath%>/pds/bidding/BBidOpeningAction.do?method=add&saveType="+ saveType;
        document.forms[0].submit();
} 

3、后台解析数据保存数据


//传递的数据格式[{"partiCipant":"1","invCompany":"1","biPhone":"1","companyAddress":"1"}{"partiCipant":"2","invCompany":"2","biPhone":"2","companyAddress":"2"},{"partiCipant":"3","invCompany":"3","biPhone":"3","companyAddress":"3"}]
//转换成json数组
JSONArray ja = JSONArray.fromObject(Form.getBqContent());
        for(int i=0;i<ja.size();i++){
        BBidInfoDto  dtos = new BBidInfoDto();  
        //将每个json数组转化成为一个json字符串。
            JSONObject jso = JSONObject.fromObject(ja.get(i));
    //获取单个对象的属性值。       dtos.setPartiCipant(jso.getString("partiCipant").toString());
            dtos.setInvCompany(jso.getString("invCompany").toString());
            dtos.setBiPhone(jso.getString("biPhone").toString());
            dtos.setCompanyAddress(jso.getString("companyAddress").toString());
            dtos.setScore(Form.getScore());

    bBidInfoService.saveBBidInfo(dtos);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值