动态添加的layui date标签不弹出日期选择解决办法

之前有一篇文章提到动态添加、删除一行的实现方法

其中我在table里有laydate元素,动态添加的laydate不弹出日期选择,根据class渲染的时候会出现出了第一个可以正常显示,别的都闪退的情况。

最终是在每次添加的时候都对新添加的元素进行ID重新渲染才解决的。

为了避免ID重复,给了一个随机数。

表格及初始渲染

<table class="layui-table" id="table" lay-filter="table">
	<thead>
		<tr>
			<td>时间</td>
			<td>操作</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td><input type="text" class="layui-input dateInput"></td>
			<td>
				<a class="layui-btn layui-btn-xs add">添加</a>
				<a class="layui-btn layui-btn-danger layui-btn-xs del">删除</a>
			</td>
		</tr>
	</tbody>
</table>
layui.use(['laydate', 'table'], function() {
    var laydate = layui.laydate;
    var table = layui.table;
    
    //原有表格日期渲染
    laydate.render({
        elem: '.dateInput'
        ,trigger: 'click' //采用click弹出
    });
});

添加按钮事件

//随机数生成
function getRandomNum() {
    return parseInt(Math.random()*50);
}

$('body').on('click', '.add', function() {
	var idNum = getRandomNum();//获取随机数
	var html = '<tr>'+
    '	<td><input type="text" class="layui-input dateInput" id="date_'+idNum+'"></td>'+
    '	<td>'+
    '		<a class="layui-btn layui-btn-xs add">添加</a>'+
    '		<a class="layui-btn layui-btn-danger layui-btn-xs del">删除</a>'+
    '	</td>'+
    '</tr>';
    $(html).appendTo($('#table tbody:last'));
    //重新渲染日期选择input,并指向添加的id
    laydate.render({
        elem: '#date_'+idNum
        ,trigger: 'click' //采用click弹出
    });
});
 

这样每次动态添加一个,就重新渲染,并指向新添加的元素。
————————————————
版权声明:本文为CSDN博主「MervynLammm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Rec_Mervyn/article/details/83242833

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值