【问题标题】:set datepicker mindate with jquery用 jquery 设置 datepicker mindate
【发布时间】:2015-03-23 15:33:18
【问题描述】:

我正在尝试在 jquery-ui 日期选择器中设置 minDate。使用jquery从父节点的数据属性中检索日期。

<p data-min-date="2015-03-10">Date:
    <input id="datepicker" type="text">
</p>
<script>
    $("#datepicker").datepicker({
        minDate: $(this).closest('p').data('minDate'),
        dateFormat: 'yy-mm-dd'
    });
</script>

您可以检查此fiddle 以查看日期选择器未考虑 minDate。

你能看出我做错了什么吗?

【问题讨论】:

    标签: jquery jquery-ui datepicker


    【解决方案1】:

    问题是因为$(this)datepicker 初始化器的范围内不等于被选择的元素。要执行您需要的操作,您需要将 datepicker() 调用包装在 each() 中并遍历选择器的每个元素:

    $("#datepicker").each(function() {
        $(this).datepicker({
            minDate: $(this).closest('p').data('minDate'),
            dateFormat: 'yy-mm-dd'
        });
    });
    

    Updated fiddle

    或者,如果 datpicker 只在单个元素上创建,您可以直接为 minDate 属性选择它:

    $("#datepicker").datepicker({
        minDate: $("#datepicker").closest('p').data('minDate'),
        dateFormat: 'yy-mm-dd'
    });
    

    Updated fiddle

    【讨论】:

    • 我们如何将mindate添加为当前日期?这样会自动更新。
    • @GaneshAher minDate: new Date()
    • minDate: new Date() 不起作用。 $('#datepicker5').datepicker({ autoclose: true, //changeYear: true, minDate: new Date(), });
    • 是的:jsfiddle.net/D4AGz/1287。检查您的控制台是否有错误。如果你仍然不能让它工作,我建议你阅读 jQueryUI 文档,或者提出一个关于它的问题。
    • 请通过stackoverflow.com/questions/47768636/…这个问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    相关资源
    最近更新 更多