我正在尝试在jquery-ui datepicker中设置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以查看datepicker是否考虑了minDate。
你能发现我做错了吗?
答案 0 :(得分:2)
问题是因为$(this)
intialiser范围内的datepicker
不等于所选的元素。要执行您需要的操作,您需要将datepicker()
调用包装在each()
中并迭代选择器的每个元素:
$("#datepicker").each(function() {
$(this).datepicker({
minDate: $(this).closest('p').data('minDate'),
dateFormat: 'yy-mm-dd'
});
});
或者,如果只在单个元素上创建数据选择器,则可以直接为minDate
属性选择它:
$("#datepicker").datepicker({
minDate: $("#datepicker").closest('p').data('minDate'),
dateFormat: 'yy-mm-dd'
});