jQuery日期选择日计数器

时间:2012-01-18 19:51:32

标签: jquery date datepicker

当输入“到”日期时,如何让http://jsfiddle.net/L2et3/11/输出“from”和“to”日期选择器之间的天数差异在“天数”框中输出?我不希望从按钮触发警报框。

提前致谢。

3 个答案:

答案 0 :(得分:1)

you need to give the input element an id like id="numDays"

然后使用 onSelect 属性:

$('#datepicker1').datepicker({

onSelect: function(dateText, inst) {

var start   = $('#datepicker').datepicker('getDate');

var end = $('#datepicker1').datepicker('getDate');

var days   = (end - start)/1000/60/60/24;

$('#numDays').val(days);
}
});

或类似的东西

UPDATE我已经更新了jsfiddle项目..但是这里是代码..

(HTML没有正确显示) 基本上确保输入具有id ='numDays'

天数         < input id =“numDays”readonly ='true'/>

//开始JSScript:

$(“#datepicker”)。datepicker({minDate:“01/07/2012”,maxDate:“01/30/2012”});

$("#datepicker1").datepicker({
            beforeShow: setminDate,
            onSelect: function(dateText, inst) {

            var start   = $('#datepicker').datepicker('getDate');

            var end = $('#datepicker1').datepicker('getDate');

            var days   = (end - start)/1000/60/60/24;

            $('#numDays').val(days);
            }
        });

就像我说的,我也更新了jsfiddle.net页面..但这是你需要做的,

我刚刚在FireFox中测试过,按预期工作

... gahd将HTML放在评论中是一个蠢事...希望现在有意义..

答案 1 :(得分:0)

$('#to').datepicker({ dateFormat: 'mm/dd/yyyy' 
  onSelect:function(dateText,inst){
    var start   = $('#from').datepicker('getDate');
    var end = $('#to').datepicker('getDate');
    var days   = (end - start)/1000/60/60/24;
    $('#resultado').val(days);
  }
});

答案 2 :(得分:0)

连接到datepicker的onSelect函数。

$("#datepicker1").datepicker({
    beforeShow: setminDate,
    onSelect: function(date) {
     calculate(); 
    }
});

并将您的计算逻辑移动到一个方法中,您可以将其调用或直接放入声明中。

function calculate() {
    var start = $('#datepicker').datepicker('getDate');
    var end = $('#datepicker1').datepicker('getDate');
    var days = (end - start) / 1000 / 60 / 60 / 24;
    alert(days);
}