layui 日期插件layDate 绑定 动态添加 增加多个 行内调用 js代码调用
2018-03-31 15:23
701 查看
起因
* 本人是在一家互联金融公司,因项目需求 要实现如上图的效果 从网上查阅了很多资料 ,无果而终,最终想到了 动态更改id 避免id重复 调用失败*保守派 — 行内调用
<!-- 动态增加 时间插件 --> <div class="layui-form-item"> <label class="layui-form-label"><span>付息日期 :</span></label> <div class="layui-input-inline"> <ul id="fuxiTime_containt"> <li class="clearfix lay-data-list" > <span class="caozuo_btn caozuo_add">增加</span> <label class="layui-form-label"><span>第1次付息日期 :</span></label> <div class="layui-input-inline layer-icon-data"> <input type="text" name="interest_payment_time" class="layui-input" id="fuxiTime_1" class="fuxiTime" onfocus="laydate({elem:'#fuxiTime_1',format:'YYYY-MM-DD',theme: '#fdd5004'})" > </div> </li> </ul> </div> </div>
切记 要引入 laydate.js 这里用到的是独立版本的 具体用法 可以参照官网文档
//付息日期 fuxiTime(); function fuxiTime() { if(!$(".fuxiTime .caozuo_btn")) return; var i = 2; $("ul#fuxiTime_containt").delegate(".caozuo_btn", "click", function() { var lis = "<li class='clearfix lay-data-list'>" + "<span class='caozuo_btn caozuo_delete'>删除</span>" + "<label class='layui-form-label'><span>第" + i + "次付息日起 :</span></label>" + "<div class='layui-input-inline layer-icon-data'>" + " <input type='text' class='layui-input' id='fuxiTime_" + i + "' class='fuxiTime' placeholder='' name='interest_payment_time' onfocus=\"laydate({'elem': '#fuxiTime_" + i + "',format:'YYYY-MM-DD'});\" >" + "</div>" + "</li>"; if($(this).is(".caozuo_add")) { $(this).parents("ul").append(lis); i++; }; if($(this).is(".caozuo_delete")) { $(this).parent("li").remove(); }; }) }
开放现代写法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>使用 layDate 独立版</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no"> <style> body{padding: 20px;} .demo-input{padding-left: 10px; height: 38px; min-width: 262px; line-height: 38px; border: 1px solid #e6e6e6; background-color: #fff; border-radius: 2px;} .demo-footer{padding: 50px 0; color: #999; font-size: 14px;} .demo-footer a{padding: 0 5px; color: #01AAED;} </style> </head> <body> <!-- <input type="text" class="demo-input" placeholder="请选择日期" id="test1"> --> <input type="text" class="demo-input" key='add_time1' placeholder="请选择日期" id="add_time" /> <button class="layui-btn layui-btn-sm layui-btn-radius layui-btn-normal addTime1" data-type='addTimes' onclick="addTime()" > <i class="layui-icon"></i>增加 </button> <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> <script src="laydate/laydate.js"></script> <!-- 改成你的路径 --> <script> // lay('#version').html('-v'+ laydate.v); //执行一个laydate实例 laydate.render({ elem: '#add_time' //指定元素 }); </script> <script> var num = 2; function addTime(){ $('.addTime'+(parseInt(num)-parseInt(1))).after( "<br><br>"+ "添加"+num+"时间:"+ "<input type='text' class='demo-input' key='add_time"+num+"' placeholder='请选择日期' id='add_time"+num+"'>"+ "<button class='layui-btn layui-btn-sm layui-btn-radius layui-btn-normal addTime"+num+"' data-type='addTimes'>"+ "<i class='layui-icon'></i>增加"+ "</button>" ); //执行一个laydate实例 laydate.render({ elem: '#add_time'+num //指定元素 }); num++; } </script> </body> </html>
关于 日期插件 样式说明
layDate 版本不同 样式也就不同 当然功能没有太大变化 所以说样式和CSS 没有很大的关联性。
结束
思路固然 重要 , 但是没有先人指路,也是虾扯淡!相关文章推荐
- Angular4.0中引入laydate.js日期插件的方法教程
- laydate日期选择插件蓝色风格自定义及使用Demo
- laydate日期插件,两个文本框关联,点击一个文本框日期,另一个文本框日期自动加天数
- layDate日期选择插件
- layui laydate 渲染失效问题,lay-key导致动态生成代码二次渲染失败
- Angular4.0引入laydate.js日期插件方法
- laydate日期插件使用
- 【vue学习】vue中怎么引用laydate.js日期插件
- bootstrap-datepicker插件bug:当天日期偏前或偏后时,选择的日期会出现减少或增加一个月 在选择与今日
- jq动态添加input元素无法使用My97DatePicker日期插件解决办法
- laydate日期组件增加初始时间设置
- drupal7 如何将一个date字段添加上日期插件效果
- 日期时间选择插件 - laydate.js
- laydate JS日期插件
- laydate.js绑定点击事件和日期格式化
- Layui中的日期组件layDate 1.1的改良版
- 日期插件laydate.js
- 详解easyui基于 layui.laydate日期扩展组件
- laydate.js日期时间选择插件
- laydate日期插件案例,结束时间小于开始时间不可选择