博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[django]表格的添加与删除实例(可以借鉴参考)
阅读量:5022 次
发布时间:2019-06-12

本文共 3155 字,大约阅读时间需要 10 分钟。

自己并未采用任何表格插件,参考网上例子,自己编写出来的django网页实例,请各位参考!

首先看图做事,表格布局采用bootstrap,俗话说bootstrap橹多了就会css了,呵呵,下面看图:

上面有两个按钮,是动态添加进来的,可以使用jquery语言,$("#xx").append新添一个按钮,

最基本的表单代码:

 
{% csrf_token %}

接下来使用js动态加载表格:

$('#blank').click(function(){
//空白表单 $("#t1 caption").append(" 合同基础清单"); $("#t1 tbody").append(formbill()); $("#t2 caption").append(" 附件1 合同手机清单      添加一行"); $("#t2 thead").append("客户姓名合同号业务号码套餐类型经办人备注操作"); $("#t3 caption").append(" 附件2 合同座机清单      添加一行"); $("#t3 thead").append("客户姓名合同号业务号码套餐类型经办人备注操作"); $("#form_add").append(""); });

然后实现行添加和行删除的功能:

//行添加 $('#t2 caption').on("click","#t2row",function(){               var len = $("#t2 tr").length+1;               $("#t2 tbody").append(""                                   +""                                   +""                                   +""                                   +""                                   +""                                   +""                                   +"删除"                                   +""                                   );      });      $('#t3 caption').on("click","#t3row",function(){            var len = $("#t3 tr").length+1;               $("#t3 tbody").append(""                                  +""                                  +""                                  +""                                  +""                                  +""                                  +""                                  +"删除"                                  +""                                  );      }); //行删除    function deltr(index) {
     $("tr[id='"+index+"']").remove();//删除当前行     }

 

 这里要注意两个问题:

第一,像id=t2row/t3rowde 按钮是动态添加上的,如果使用普通的$('#xxx').click是没用的,必须使用$('#t2 caption').on("click","#t2row",function(){})这种格式

第二,删除按钮的id必须跟tr中的id相对应

 

实现行添加和行删除的功能后,该考虑如何将多字段的表单传递到django的后端中去,代码如下:

var str_tailsj = "[";          $("#t2 tbody").find("tr").each(function(){                var tdArr1 = $(this).children();                str_tailsj = str_tailsj+"{'product_name':'手机',";                str_tailsj = str_tailsj+"'acct_name':'"+ tdArr1.eq(0).find("input").val()+"',";                str_tailsj = str_tailsj+"'acct_code':'"+ tdArr1.eq(1).find("input").val()+"',";                str_tailsj = str_tailsj+"'acc_nbr':'"+ tdArr1.eq(2).find("input").val()+"',";                str_tailsj = str_tailsj+"'tc_type':'"+ tdArr1.eq(3).find("input").val()+"',";                str_tailsj = str_tailsj+"'con_agent':'"+ tdArr1.eq(4).find("input").val()+"',";                str_tailsj = str_tailsj+"'remark':'"+ tdArr1.eq(5).find("input").val()+"'},";          });          str_tailsj = str_tailsj + "]";

将多字段表单,用json字符串的形式传递到后端,然后在后端利用python中的eval转换成相应的形式进行处理,具体代码参照下:

参照网址:

a="[{'bill1':'1','bill41':'2'},{'bill1':'1','bill41':'2'},]"print eval(a)[0]['bill1']输出为1

 

转载于:https://www.cnblogs.com/CQ-LQJ/p/5475609.html

你可能感兴趣的文章
lab -- 美国大学实验室
查看>>
tiled工具使用
查看>>
MySQL 的性能(下篇)—— 性能优化方法
查看>>
xctf --Hctf2014 Quals write up
查看>>
一个完整的大作业
查看>>
自定义Java Annotations实例以及用Java Reflection来解析自定义的Annotation
查看>>
【ADB命令第三篇】教你删除忘记的密码!
查看>>
Chapter16— A thread's Stack
查看>>
CoreLocation详解
查看>>
Android App 性能评测与调优
查看>>
【电子基础】单片机定时器实用方法总结
查看>>
Prism4文档翻译(第二章 全部内容)
查看>>
智东西公开课干货盘点 | 全方位解析人脸识别商用落地
查看>>
CSS学习笔记(四):布局
查看>>
JAVA 基于TCP协议的一对一,一对多文件传输实现
查看>>
npm install 权限报错
查看>>
3-类组件及事件绑定
查看>>
java实现文件上传下载至ftp服务器
查看>>
配置SSH框架的心得
查看>>
7.6
查看>>