编辑表格输入内容、根据input输入框输入数字动态生成表格行数、编辑表格内容提交传给后台数据处理

记录自己学习做的东西,写的小demo,希望对大家也有帮助!

代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<link rel="stylesheet" href="../../js/bootstrap-3.3.7-dist/css/bootstrap.min.css" />
<script type="text/javascript" src="../../js/jquery-1.12.1.min.js"></script>
<script type="text/javascript" src="../../js/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<style type="text/css">
table thead tr th {
border-bottom: 0 !important;
} .table {
margin-top: 20px;
width: 80%;
margin-left: 20px;
} table tr,
th,
td {
text-align: center;
} .tdpadding {
padding: 0 !important;
} .table_input {
width: 100%;
height: 37px;
border: none;
}
</style> <body> <p id="demo"></p>
<label>楼号:</label><input name="" type="text" class="louhao">
<label>单元数:</label><input type="text" id="myInput" oninput="myFunction()">
<form id="submitForm">
<table class="table table-bordered">
<thead class="aa">
<tr>
<th>单元</th>
<th>开始楼层</th>
<th>结束楼层</th>
<th>每层次数</th>
</tr>
</thead>
<tbody class="units">
</tbody>
</table>
</form>
</body>
<button class="btn">提交</button>
<script>
function myFunction() {
var x = $("#myInput").val();
$("#demo").text("你输入的是: " + x);
$(".units").html("");
var str = ""
for(var i = 0; i < x; i++) {
str += "<tr><td class='tdpadding'><input name='inp0' value='" + (i + 1) + "' type='text' readonly='readonly' class='table_input desa'></td><td class='tdpadding'><input name='inp1' value='' type='text' class='table_input'></td><td class='tdpadding'><input name='inp2' value='' type='text' class='table_input'></td><td class='tdpadding'><input name='inp3' value='' type='text' type='text' class='table_input'></td></tr>"
}
$(".units").append(str)
}
$(".btn").click(function() {
var louhao = $(".louhao").val()
console.log(louhao)
var msg = $("#submitForm").serialize();
var json = "[{";
var msg2 = msg.split("&"); //先以“&”符号进行分割,得到一个key=value形式的数组
var t = false;
for(var i = 0; i < msg2.length; i++) {
var msg3 = msg2[i].split("="); //再以“=”进行分割,得到key,value形式的数组
for(var j = 0; j < msg3.length; j++) {
json += "\"" + msg3[j] + "\"";
if(j + 1 != msg3.length) {
json += ":";
}
if(t) {
json += "}";
if(i + 1 != msg2.length) { //表示是否到了当前行的最后一列
json += ",{";
}
t = false;
}
if(msg3[j] == "inp3") { //这里的“inp3”是你的表格的最后一列的input标签的name值,表示是否到了当前行的最后一个input
t = true;
}
}
if(!msg2[i].match("inp3")) { //同上
json += ";";
} }
json += "]";
console.log(json)
//最终msg的值就被转换为:[{"key":"value";"key":"value"},{"key":"value";"key":"value"}]格式的json数据<br>
})
</script>
</html>

编辑表格输入内容、根据input输入框输入数字动态生成表格行数、编辑表格内容提交传给后台数据处理的更多相关文章

  1. 项目小结:手机邮箱正则,URL各种判断返回页面,input输入框输入符合却获取不到问题

    1.手机邮箱正则 近两年出来很多新号码,听说199什么的都有了- -导致以前的正则不能用了....这就很难过,总是过一段时间出一种新号码.因此,我决定使用返朴归真的手机正则. 手机正则:var reg ...

  2. input输入框输入小写字母自动转换成大写字母

    input输入框输入小写字母自动转换成大写字母有两种方法 1.用js onkeyup事件,即时把字母转换为大写字母: html里input加上 <input type="text&qu ...

  3. input输入框输入大小写字母自动转换

    input输入框输入小写字母自动转换成大写字母有两种方法 1.用js onkeyup事件,即时把字母转换为大写字母: html里input加上 <input type="text&qu ...

  4. Firefox浏览器中,input输入框输入的内容在刷新网页后为何还在?

    转自:http://www.webym.net/jiaocheng/473.html 这个问题比较容易解决,如果不希望浏览器保留以前输入的内容,只要给对应的 input 输入框加上以下参数: auto ...

  5. HTML中限制input 输入框输入内容

    限制 input 输入框只能输入纯数字1.onkeyup = "value=value.replace(/[^\d]/g,'')" 使用 onkeyup 事件,有 bug ,那就是 ...

  6. Input输入框输入银行卡号自动空格

    input输入框是表格中用都最多的,像输入手机,密码,银行卡号的,很多对于输入银行卡号是没有处理的,比如这样~~ 看起来是不是一团乱麻,, 眼睛瞬间一片漆黑~  如果是这样,会不会好很多呢~~ 其实逻 ...

  7. input输入框 只能输入数字 oninput = "value=value.replace(/[^\d]/g,'')" input输入框输入大于0的数字 oninput="value=value.replace(/\D|^0/g,'')"

    项目中因为利用 element-ui 和avue两个ui框架搭建的 1.利用element-ui自带的校验需要注意点 prop  :rules ref这三个属性 2.利用oninput时间进行校验   ...

  8. 利用JS动态生成隔行换色HTML表格

    用JS生成动态生成表格,行.列由用户输入,并使表格隔行换色 方法一. 代码: <!DOCTYPE html> 2 <html> 3 <head> 4 <tit ...

  9. iTextSharp动态生成多页pdf及追加内容等记录

    1.要动态生成pdf,无非是用第三方或直接代码生成. 2.iTextSharp生成pdf问题点记录 dll相关下载 https://files.cnblogs.com/files/xlgwr/iTex ...

随机推荐

  1. Loadrunner查询博客列表并循环删除博客列表中的所有博客

    Loadrunner查询博客列表并循环删除博客列表中的所有博客,在博客列表请求中使用关联,获取出列表中博客的数量,并找出博客列表请求的必要参数.关联使用Ordinal=All 找出所有匹配值 查找出所 ...

  2. LeetCode 257. Binary Tree Paths(二叉树根到叶子的全部路径)

    Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. Example ...

  3. 大数据 -- kafka学习笔记:知识点整理(部分转载)

    一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多 ...

  4. 使用mwget代替wget

    wget相对于浏览器来说,速度会比较偏慢,特别是国外的网站. 刚好经常用的xftp无法正常使用了,于是开始折腾mwget 下面来看一下安装步骤: wget http://jaist.dl.source ...

  5. Kubernetes k8s 基于Docker For Windows

      开启和安装Kubernetes k8s 基于Docker For Windows   0.最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上 ...

  6. 【记录】【solr】whose UTF8 encoding is longer than the max length 32766

    java添加数据到solr报错 whose UTF8 encoding is longer than the max length 32766 原因是长度太长,string类型改成text_gener ...

  7. adb devices命令链接设备失败 解决办法

    使用adb devices命令链接设备失败 1,检查adb的环境配置是否存在问题 参见我的博客(sdk配置):https://www.cnblogs.com/changpuyi/p/9459025.h ...

  8. [转帖]Java中重写和重载与多态的关系

    Java中重写和重载与多态的关系 2019-09-05 00:57:41 留下一天今天 阅读数 67  收藏 更多 分类专栏: java进阶之路   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  9. IIS提速的几个优化

    一.内存池右键高级设置 1.设置队列5000 2.设置固定回收时间 3.设置空闲时间Suspend 二.网站右键高级设置 1.启用预加载

  10. Linux下Ngnix的安装与配置

    由于我的博客项目在8084端口,需要Nginx来转发一下端口,记录一下安装过程和踩过的小坑. 一.下载 wget http://nginx.org/download/nginx-1.12.2.tar. ...