2013-05-14 137 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