我们有一个PHP预订系统,通过使用6个删除列表将6个隐藏变量发送到结果页面进行日期搜索。
start_day,start_month,start_year,end_day,end_month,end_year
然而,我想使用2个jQuery日期选择器,并且为了参数起见,我们使用以下日期格式设置它们。
$( "datefrom_picker" ).datepicker( "option", "getDate", "dd-mm-yy" );
$( "datefrom_picker2" ).datepicker( "option", "getDate", "dd-mm-yy" );
我的问题是有没有办法分割jQuery datepicker日期格式,以便它可以将六个日期部分发送到结果页面?例如,我试图在第一个日历中弄清楚这一点。
隐藏的表单字段:
<input name="start_month" id="start_month" type="hidden" value="" />
<input name="start_day" id="start_day" type="hidden" value="" />
<input name="start_year" id="start_year" type="hidden" value="" />
jQuery
$( "#datefrom_picker" ).datepicker( "option", "getDate", "dd-mm-yy" );
toDateModComboFlights = ($('#datefrom_picker').datepicker("getDate"));
if (toDateModComboFlights!=null) {
document.forms['frmCheckAvailability'].elements['start_day'].value = toDateModComboFlights.dd();
document.forms['frmCheckAvailability'].elements['start_month'].value = toDateModComboFlights.mm();
document.forms['frmCheckAvailability'].elements['start_year'].value = toDateModComboFlights.yy();
}
感谢您在正确的方向上提供任何帮助。
答案 0 :(得分:1)
您需要使用datepicker的onClose
选项,以便每次选择日期时都会更新隐藏字段。你说你有6个隐藏的字段,但你只显示3.我猜测丢失的字段是“end_month”等等。
初始化datepicker并创建一个类似的函数
$( "#datefrom_picker" ).datepicker({
dateFormat: "mm-dd-yy",
onClose: function(dateText) {
//dateText is a string matching your desired format
var dateParts = dateText.split("-");//spilts string using dash
//now set each input field (you can figure out the other three)
$('#start_month').val(dateParts[0]);
$('#start_day').val(dateParts[1]);
$('#start_year').val(dateParts[2]);
},
});
您可以以相同的方式设置第二个日期选择器,但改为引用其他隐藏值。