当前位置: 首页 > news >正文

js 表格添加|删除一行交互

一、需求

二、实现

<div style="margin-bottom: 55px"><form action="" method="post"  enctype="multipart/form-data" id="reportForm" name="sjf" style="margin-left: 25px;margin-bottom: 50px;"><table id="tableContent"><tbody>{foreach $list ke=>va}<tr id="line-1" class="layui-form layui-row layui-col-space16 tr-line"><td class="layui-form"><select name="selectkey[]" class="tr-select" style="width:186px;display:inline" oninput="handleSelectChange(event)"><option value="" >请选择</option>{foreach $selectList k=>v}<option value="{$v['key']}"  {if $ke == $v['key']} selected="selected" {/if}  >{$k}</option>{/foreach}</select></td><td class="td_Item"><input type="text" name="selectval[]" class="stepName" autocomplete="off" value="{$va}" oninput="handleInputChange(event)"></td><td class="td_Oper" style="cursor: pointer;"><i class="layui-icon layui-icon-close" onclick="remove_line(this);"></i>&nbsp;</td><td class="td_Oper" style="cursor: pointer;"><i class="layui-icon layui-icon-addition" onclick="add_line(this);"></i>&nbsp;</td></tr>{/foreach}</tbody></table><input type="hidden" name="immongoid" class="stepName" autocomplete="off" value="{$val['MongoID']}"><script type="text/javascript">//添加新记录function add_line(index) {//克隆上一行$("#tableContent tbody tr:last-child").clone().appendTo("#tableContent tbody");//将行尾克隆的值清空$("#tableContent tbody tr:last-child").find(":input").val('');$("#tableContent tbody tr:last-child").find("input").css('border-color','#468')}//删除选择记录function remove_line(index) {var keyindex = $("#tableContent tbody tr").index();if (keyindex > 0) {console.log($(index).parent().parent())$(index).parent().parent().remove();} else {layer.msg('第一行不能删除')return false;}}function closeFun(){$('.stepName').each(function(){$(this).css('border-color','#468')})$('.tr-select').each(function(){$(this).css('border-color','#468')})}function handleInputChange(e){$('.stepName').each(function(){if($(this)[0] == e.target){$(this).css('border-color','#468')}})}function handleSelectChange(e){$('.tr-select').each(function(){if($(this)[0] == e.target){$(this).css('border-color','#468')}})}# 表单验证并保存,一行中有未填写内容时input框标红并阻止提交function submitClick(inp){let isCheck = true;$('.tr-line').each(function(index,key){if($(this).find('select')){if($(this).find('select option:selected').text() == '请选择'){$(this).find('select').css('border-color','red');isCheck = false}else{$(this).css('border-color','#468')}if($(this).find('input').val() == ''){$(this).find('input').css('border-color','red');isCheck = false}else{$(this).css('border-color','#468')}}})if(!isCheck){return}$.ajax({url:'/ajax/test',data:$("#reportForm").serialize(),async:false,type:'post',dataType:'json',success:function(data){layer.msg('保存成功')}});}</script></form><div class="want_box-bottom1" style="margin-left: 32px;"><span><input type="submit" value="保存" onclick="submitClick(this)" class="gray-but"></span></div>{/if}</div>

http://www.lryc.cn/news/358882.html

相关文章:

  • 如何选择合适的服务器硬件和配置?
  • Prometheus + Grafana + Alertmanager 系统监控
  • 5.23R语言-参数假设检验
  • rnn 和lstm源码学习笔记
  • 解析Java中1000个常用类:CharSequence类,你学会了吗?
  • 微服务远程调用之拦截器实战
  • 德人合科技——天锐绿盾内网安全管理软件 | -文档透明加密模块
  • 超融合架构下,虚拟机高可用机制如何构建?
  • 工厂模式详情
  • 【Word】调整列表符号与后续文本的间距
  • 匠心独运,B 端系统 UI 演绎华章之美
  • Java电商平台-开放API接口签名验证(小程序/APP)
  • Tale全局函数对象base
  • 【启程Golang之旅】掌握Go语言数组基础概念与实际应用
  • COMSOL中液晶材料光学特性模拟
  • 虚拟现实环境下的远程教育和智能评估系统(五)
  • 【算法】模拟算法——Z字形变换(medium)
  • 上位机图像处理和嵌入式模块部署(f103 mcu获取唯一id)
  • 运筹学_3.运输问题(特殊的线性规划)
  • 科研项目书写作学习(持续更新中...)
  • 男士内裤哪个品牌好一点?2024热门男士内裤推荐
  • Llama模型家族之RLAIF 基于 AI 反馈的强化学习(六) RLAIF 代码实战
  • 计算机tcp/ip网络通信过程
  • 42.开发中对String.format()的使用之空位补齐
  • 通用代码生成器应用场景四,跨编程语言翻译
  • β-烟酰胺单核苷酸(NMN)功能不断得到验证 市场规模呈增长态势
  • 深入理解 Go 语言中的字符串不可变性与底层实现
  • 采购订单审批和取消例子
  • PHP:集成Xunsearch生成前端搜索骨架
  • ThreadLocal详解,与 HashMap 对比