【问题标题】:PHP Javascript Codeigniter datepicker conditionPHP Javascript Codeigniter 日期选择器条件
【发布时间】:2017-04-07 12:20:18
【问题描述】:

我有链接到 datepicker 的下拉列表..但是我想在我的 datepicker 上设置一个条件,如果选择了下拉列表值年份(例如 2017 年),那么 datepicker 只显示 2017 日期。它不能更改为2016 年或 2018 年。这是我的一些代码示例。

**PHP View**
<select name ="year" id="year" class="form-control select2">
 <?php foreach($year as $value)
  {
   echo "<option value="$value['id_year'].">".$value['year']."</option>"
  }
</select>
<input type="text" name="date" id="date" class="form-control">

**Javascript**
$('$date').datepicker({
    format : "yyyy-mm-dd",
    autoclose:true
})

我是如何根据所选年份设置条件的?谢谢...

【问题讨论】:

  • echo "&lt;option value=".$value['id_year']."&gt;".$value['year']."&lt;/option&gt;";

标签: javascript php jquery codeigniter datepicker


【解决方案1】:

您需要观察所选输入的变化, 然后设置日期选择器的最大和最小日期

$('#year').on('change',function(){
   var year = $(this).val();

 $('#date').datepicker( "option", "minDate", new Date(year, 0, 1) );
 $('#date').datepicker("option","maxDate", new Date(year,11,31));
});

【讨论】:

  • onchange 有效,但是当我选择 2017 年的值时,年份从 1902 年 12 月开始,仍然可以上移到 2018 年 1 月 @nounzor。
  • 您必须查看 datepicker DOCS 以了解如何设置最小和最大日期,我没有测试我的代码,只是为了公开您需要做的逻辑
  • 哦,我肯定会调查的...@nounzor
  • 当 year=2017 时你的 id_year 是多少?因为我的方法获取值 => id_year,也许尝试获取年份
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
相关资源
最近更新 更多