根据datepicker字段

时间:2015-11-20 10:00:52

标签: javascript jquery jquery-ui datepicker timepicker

在我的一个项目中,我需要提供以下功能。我正在使用来自此源的jQueryUi datepicker和timepicker插件(http://jonthornton.github.io/jquery-timepicker/

  1. 当用户从datepicker字段中选择日期时:如果日期等于今天的日期,则timepicker字段将仅允许选择等于当前时间及以上的时间。例如今天是11月20日。如果所选日期也是11月20日,那么当前时间,即3.15pm是用户可以选择的minTime,以及之前的时间将被禁用。插件中提供了minTime功能。
  2. 如果用户选择的日期大于今天的日期,那么minTime将默认为上午10点。
  3. 这应该随着日期字段的变化而变化。所以我认为必须使用.change()。我试过用它。它在第一次选择时会发生变化,但如果我再次更改相同的日期字段,则timepicker字段不会更改。这是关于jsfiddle的代码:http://jsfiddle.net/vivpad/262x159b/

    <div class="row">
    <div class="small-6 columns">
    <label>TimePicker
        <input type="text" class="timepicker">
    </label>
    </div>
    <div class="small-6 columns">
    <label>DatePicker
        <input type="text" class="datepicker">
    </label>
    </div>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.8.7/jquery.timepicker.min.js"></script>
    
  4. 使用了Jquery,jQueryUI和以上的timepicker脚本

    var fullDate = new Date();
    console.log(fullDate);
    var twoDigitMonth = (fullDate.getMonth() + 1) + "";
    if (twoDigitMonth.length == 1) twoDigitMonth = "0" + twoDigitMonth;
    var twoDigitDate = fullDate.getDate() + "";
    if (twoDigitDate.length == 1) twoDigitDate = "0" + twoDigitDate;
    var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" +      fullDate.getFullYear();
    console.log(currentDate);
    
    var dt = new Date();
    var currentTime = dt.getHours() + ":" + dt.getMinutes();
    console.log(currentTime);
    
    $('.timepicker').timepicker({
    'minTime': '10.00am',
        'maxTime': '11:30pm',
        'showDuration': true
    });
    
    $("#datepicker, .datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: 'dd/mm/yy'
    
    });
    
    $('.datepicker').change(function () {
    
    });
    

0 个答案:

没有答案