layui框架,点击某个按钮,让layui的日期插件选中的值清空

利用layui的layDate控件,
在一个弹窗里面用的,
弹窗和当前页面同为一个页面,
在点击关闭弹窗时要让layDate之前选的值清空掉
相当与把这个控件刷新了一次
大神们该怎么做?

用来约束选择时间的范围
var start = laydate.render({

        elem: '#test-out-start',
        format: 'yyyy-MM-dd',
        isInitValue: false,
        done: function(value, date, endDate) {
            if(value !==''){
                end.config.min = {
                    year: date.year,
                    month: date.month - 1,
                    date: date.date
                }
            }else {
                end.config.min = {
                    year: 1900,
                    month: 0, //关键
                    date: 1
                }
            }
        }
    });
    var end = laydate.render({
        elem: '#test-out-end',
        format: 'yyyy-MM-dd',
        isInitValue: false,
        done: function(value, date, endDate) {
            if(value != ''){
                start.config.max = {
                    year: date.year,
                    month: date.month - 1,
                    date: date.date
                }
            }else {
                start.config.max = {
                    year: 1900,
                    month: 0, //关键
                    date: 1
                }
            }
        }
    });
})
我先选择后一个时间,关闭弹窗,此时弹窗并未刷新,然后再次打开,选择第一个时间,发现第二个时间还是影响着第一个时间的选择。
此时便想有什么方法能将选中的值清空掉
阅读 15.5k
3 个回答

直接把date的value设为空就行了:

document.getElementById('ID').value = ''

里面所需要的layui样式等链接自己替换,把input改为范围的就可以了

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="./css/layui.css">
</head>
<body>

<button onclick="openLy()">open</button>
<script src="layui.js"></script>
<script src="layui.all.js"></script>
<script>
    function openLy() {
        layui.use(['layer','form', 'layedit', 'laydate'], function(){
            var form = layui.form
            var layer = layui.layer
            var laydate = layui.laydate;
            var $ = layui.$
            layer.open({
                type: 1,
                content: '<input type="text" id="test1" value="1998">', //这里content是一个普通的String
                success: function(layero, index){ //弹出layer回调函数
                    //do something。
                    laydate.render({
                        elem: '#test1' //指定元素
                    });
                },
                cancel: function(index, layero){  //关闭layer回调函数
                    $("#test1").val("")
                    layer.close(index)
                }
            });

        });
    }

</script>
新手上路,请多包涵

解决了没有,目前同样的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题