当输入“到”日期时,如何让http://jsfiddle.net/L2et3/11/输出“from”和“to”日期选择器之间的天数差异在“天数”框中输出?我不希望从按钮触发警报框。
提前致谢。
答案 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);
}