2012-12-06 16 views
0

獲取datePicker以選擇多個日期。當用戶選擇多個日期,並關閉文本顯示格式的日期日曆:JQuery datePicker SelectMultiple格式dd/mm/yy

Thur Jan 03 2013 00:00:00 GMT +0000 
Fri Jan 03 2013 00:00:00 GMT +0000 
Sat Jan 04 2013 00:00:00 GMT +0000, 

我的代碼:

<script> 

      $("#HolidayDate").addClass('date-pick'); 
      $('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val(); 
      (
        { 
         createButton: false, 
         displayClose: true, 
         closeOnSelect: false, 
         selectMultiple: true,     
        } 
      ) 
      .bind(
       'click', 
       function() { 
        $(this).dpDisplay(); 
        this.blur(); 
        return false; 
       } 
      ) 
      .bind(
       'dateSelected', 
       function (e, selectedDate, $td, state) { 
        console.log('You ' + (state ? '' : 'un') // wrap 
         + 'selected ' + selectedDate); 
       } 
      ) 
      .bind(
       'dpClosed', 
       function (e, selectedDates) { 
        console.log('You closed the date picker and the ' // wrap 
         + 'currently selected dates are:'); 
        console.log(selectedDates); 
        $('#HolidayDate').val(selectedDates); 
       } 
      ); 

    </script> 

不過,我想日期顯示爲DD-毫米-YY。 如果我使用註釋掉線

$('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val(); 

and run it as $('.date-pick').datePicker({dateFormat: 'dd-mm-yy'}).val(); 

文本框將返回日期的格式正確,但現在只允許我一次選擇一個日期。

請指教?

謝謝

回答

1

它因爲你留下ouy選項說它是一個selectmultiple。

嘗試

$('.date-pick').datePicker 
      (
        { 
         createButton: false, 
         displayClose: true, 
         closeOnSelect: false, 
         selectMultiple: true, 
         dateFormat: 'dd-mm-yy'    
        } 
      ) 

看到,我把它添加到你有以前的選項?

編輯

這個閱讀kelvinlucks文檔後,我看看有什麼造成您的問題。你得到的回報日期是一個javascript日期對象,而不是一個字符串。你可以隨心所欲地設置它的格式,但是在你的重載方法dateSelected和dpClosed中,它們只是打印時沒有格式化。

試試這個:

.bind(
    'dateSelected', 
    function(e, selectedDate, $td, state) 
    { 
     var date = selectedDate.getDate() + "-" + (selectedDate.getMonth() + 1) + "-" +  selectedDate.getFullYear(); 
     console.log('You ' + (state ? '' : 'un') // wrap 
      + 'selected ' + date); 

    } 
) 

我的日期格式化是不太好,但你明白了吧。這裏是格式化日期(http://stackoverflow.com/questions/1056728/formatting-a-date-in-javascript)

+0

感謝您的回覆喬納斯....對不起,但我應該提到,我以前試過,但也沒有喜悅......不明白爲什麼,但....任何建議? Thaks – John

+0

你使用的是什麼版本的datepicker(jQuery UI)?我可以在文檔http://api.jqueryui.com/datepicker/ – jonas

+0

看到沒有optino「selectMultiple」似乎jquery ui支持選擇多個日期。但爲什麼重新發明輪子,很多人已經爲此做出瞭解決方案。例如,看看http://multidatespickr.sourceforge.net/ – jonas

2

嘗試使用.bind選擇dateformat(Date.format ='dd-mm- yyyy') 並使用selectMultiple:true

+0

感謝您的回覆abhi ...你的意思是這樣的... .bind(Date。格式= 'DD-MM-YYYY') \t \t \t '點擊', \t \t \t函數(){ \t \t \t $(本).dpDisplay(); \t \t \t this.blur(); \t \t \t \t \t返回FALSE; \t \t \t} \t \t)....仍然沒有快樂,任何suggestios? – John