我有我的UI datepicker,并尝试使用onSelect来预先设置你在#viewCalender中选择的日期:
$(function() {
$('#rangeA').daterangepicker({
arrows: true,
onClose: function(event) {
$('#calenderView').prepend('Ok!');
},
onSelect:
function(){
var day1 = $("#rangeA").datepicker('getDate').getDate();
var month1 = $("#rangeA").datepicker('getDate').getMonth() + 1;
var year1 = $("#rangeA").datepicker('getDate').getFullYear();
var fullDate = year1 + "-" + month1 + "-" + day1;
$('#calenderView').prepend(fullDate);
}
});
});
但是当我选择约会时没有任何反应。这有什么不对?
onClose:
function(){
var date = $(".range-start").datepicker('getDate');
var dateEnd = $(".range-end").datepicker('getDate');
if(date != null){
if(dateEnd != null){
var day2 = dateEnd.getDate();
var month2 = dateEnd.getDate();
var year2 = dateEnd.getDate();
var fullDate2 = year2 + "-" + month2 + "-" + day2;
}else{
var fullDate2 = 0;
}
var day1 = date.getDate();
var month1 = date.getMonth() + 1;
var year1 = date.getFullYear();
var fullDate = year1 + "-" + month1 + "-" + day1;
$.ajax({
url: "misc/getCalender.php",
type: "POST",
data: { dateStart: fullDate, dateEnd: fullDate2 },
success: function(response){
alert('passed: ' + fullDate + ' - '+ fullDate2);
}
});
}
}
答案 0 :(得分:5)
而不是onSelect
,the event is onChange
,只需更改代码即可使用该选项,您应该全部设置。此外,日期不会存储在#rangeA
中,而是存储在其中的另一组输入,.range-start
和.range-end
(是的...您在页面上不能有多个输入目前)。
You can test it here,请注意onChange
每次选择也会触发两次......当您使用结果替换值而不是预先设置值时,这不应该是一个问题(导致多个前缀。)
答案 1 :(得分:0)
使用http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/作为此插件的文档,除了评论之外,我没有看到onSelect的任何使用。看起来你应该把onSelect代码放在onClose函数中,当选择日期时会触发它。