Bootstrap日期选择器仅显示特定月份

时间:2017-04-05 06:56:20

标签: jquery html date bootstrap-datepicker

我想只获得财政年度(即:2017年7月),格式应该像这样(2017-07-01/ yyyy-mm-dd)来自bootstrap datepicker有没有办法做这样的任务?

我搜索了很多但是我无法得到这样的结果,而且在日历中最重要的是我想限制用户不要选择除7月以外的其他月份,从第1个datepicker和6月从第2个datepicker。

5 个答案:

答案 0 :(得分:1)

修改dateFormat属性。您还可以使用相对选择器删除选择器的日期部分。如果这不是您想要的,请继续并发表评论。



$("#example").datepicker({
  changeYear: true,
  defaultDate: new Date(2017,5,03),
  dateFormat: 'MM yy',
  showButtonPanel: true,
  stepMonths: 0,
  onSelect: function(selectedDate) {
     console.log(selectedDate);
 }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"><script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<input type="text" id="example" />
&#13;
&#13;
&#13;

答案 1 :(得分:1)

你也可以使用像这样的月份的默认日期

var today = new Date();
var startDate = new Date(today.getFullYear(), 6, 1);
var endDate = new Date(today.getFullYear(), 6, 31);

$("#example1").datepicker({
 format: "MM yyyy",
    minViewMode: 1,
    autoclose: true,
   startDate: startDate,
   endDate: endDate
});

检查

答案 2 :(得分:0)

$input = $(".date");
$input.datepicker({
      format: "dd-mm-yyyy",
      defaultViewDate: {year:2000, month:0, day:1}
    });
 $input.datepicker("setDate", null);

假设存在一个带有日期为class的输入元素, 现在您要设置defaultViewDate年2000年1月1日 之后,setDate null将取消选择日期,现在您处于一月月历,没有任何选定的日期。

答案 3 :(得分:-1)

使用这些CDN文件:

public function rules()
{

   $rules = [
        'group_id' => 'required|numeric',
        'last_name' => 'required|alpha|min:2',
        'given_name' => 'required|alpha|min:2',
    ];

   if (!$this->has('student_id')) // primary key i assume it is student_id
    {
        $rules += ['date_of_birth'=> 'required'];
    }
    return $rules;
}

答案 4 :(得分:-1)

尝试

viewMode :“月”仅显示月和 minViewMode :“月”防止持续数年

$('#id').datepicker({
        format: "mm-yyyy",
        viewMode: "months",
        minViewMode: "months"
    })