jQuery Datepicker未从此min属性获取minDate

jQuery Datepicker not getting minDate from this min attribute

本文关键字:属性 获取 minDate min Datepicker jQuery      更新时间:2023-09-26

我是不是遗漏了一些显而易见的东西?

Html

<input class="datepicker" min="2014-10-22" name="start_date" type="text" value="2014-11-22" id="start_date">

Javascript

$(function() {
    $(".datepicker").datepicker({
        minDate: $(this).attr('min'),
        // minDate: '2014-10-22',
        dateFormat: 'yy-mm-dd',
        onSelect: function() {
            console.log($(this).attr('min'));
        }
    });
});

onSelect显示它正在正确获取min属性。但minDate似乎忽略了它。

如果我对其进行硬编码,则它可以工作,但如果我使用minDate: $(this).attr('min'),,则不会设置minDate。

因为您在dom就绪回调中调用$(this).attr('min'),其中this指的是文档对象,而不是input元素。

如果页面中只有一个日期选择器,则可以将其更改为$('.datepicker').attr('min')

但是如果有1个以上,则

$(function() {
  $(".datepicker").each(function() {
    $(this).datepicker({
      minDate: $(this).attr('min'),
      // minDate: '2014-10-22',
      dateFormat: 'yy-mm-dd',
      onSelect: function() {
        console.log($(this).attr('min'));
      }
    });
  })
});
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/redmond/jquery-ui.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.js"></script>
<input class="datepicker" min="2014-10-22" name="start_date" type="text" value="2014-11-22" id="start_date">
<input class="datepicker" min="2014-11-22" name="start_date" type="text" value="2014-11-22" id="end_date">