2

我正在尝试做的事情:

我正在尝试根据年份的当前值设置 startDate 和 endDate 参数。我认为目前我刚刚设置了参数 onLoad,但是我需要知道是否有一种方法可以让我在某些事件上触发 startDate / endDate 参数的更新

这是代码:

html:

<select id="mySelect">
    <option value="2012-2013">2012-2013</option>
    <option value="2012-2013">2013-2014</option>
    <option value="2012-2013">2015-2016</option>
</select>
<input type="text" id="myStartDate" placeholder="dd-mon-yyyy" data-date-format="dd-M-yyyy" readonly="readonly">

js:

var myStartDt = $('#myStartDate')
    .datepicker({
    startDate: getStartDate(),
    endDate: getEndDate()

}).on('changeDate', function (ev) {

    myStartDt.hide();
}).data('datepicker');

function getStartDate() {
    var f = $('#mySelect').val().split('-');
    return '01/04/' + f[0];
}

function getEndDate() {
    var f = $('#mySelect').val().split('-');
    alert(f);
    return '31/03/' + f[1];
}

小提琴:http: //jsfiddle.net/fRzyL/1/

4

2 回答 2

24

我认为您可以简单地使用setStartDatesetEndDate方法:http: //jsfiddle.net/ivkremer/fRzyL/21/

于 2014-06-24T11:16:32.137 回答
9

更改option 2013-2014 和 2015-2016的值,例如

<select id="mySelect">
    <option value="2012-2013">2012-2013</option>
    <option value="2013-2014">2013-2014</option>
    <option value="2015-2016">2015-2016</option>
</select>

将此更改为js

var myStartDt;
function mydatepicker(){
   myStartDt= $('#myStartDate')
        .datepicker({
        startDate: getStartDate(),
        endDate: getEndDate()
    }).on('changeDate', function (ev) {
        myStartDt.hide();
    }).data('datepicker');
}
 $("#mySelect").on('change',function(){
    // alert(this.value)
    $('#myStartDate').datepicker("remove");
    mydatepicker();//$('#id-element').datepicker("destroy");
});
mydatepicker();

小提琴

于 2013-10-09T10:46:47.033 回答