2013-05-14 134 views
0

我们有一个PHP预订系统,通过使用6个下拉列表将6个隐藏变量发送到结果页面进行日期搜索。将jQuery DatePicker分割为隐藏字段

START_DAY,START_MONTH,START_YEAR,END_DAY,END_MONTH,结束年份

但是我想用jQuery的2个datepickers可以说为它们设置了以下日期格式参数的缘故。

$("datefrom_picker").datepicker("option", "getDate", "dd-mm-yy"); 
$("datefrom_picker2").datepicker("option", "getDate", "dd-mm-yy"); 

我的问题是有没有分裂的jQuery日期选择器日期格式,以便它可以发送六个日期部分结果页的一种方式?例如我曾尝试可能严重摸不着头脑的第一个日历..

隐藏的表单字段:

<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(); 
} 

感谢在正确的方向任何帮助。

回答

1

您需要使用datepicker的onClose选项,这样每次选择日期时都会更新隐藏字段。你说你有6个隐藏的字段,但你只显示3.我猜想失踪的是“end_month”等。

初始化日期选择器,并创建一个函数,像这样

$("#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]); 
    }, 

}); 

,你可以设置在完全相同的方式,第二日期选择器,但引用其他隐藏值来代替。

+0

非常感谢那 – Richard 2013-05-16 14:38:16

+0

对象[object Date]没有方法'split' – 2013-08-23 19:54:38