2010-03-01 8 views
0

J'utilise jQuery Datepicker (http://keith-wood.name/datepick.html) avec la plage de dates personnalisée. Mon problème est que j'ai besoin de la sortie de la date pour que l'utilisateur soit dans un format lisible tel que jj/mm/aaaa mais ensuite prends cette date et passe-la dans un formulaire de recherche comme yyyymmdd.en passant une date formatée avec jquery datepicker

$(function() { 

$('#startDatepicker,#endDatepicker').datepick({onSelect: customRange, 
    showOn: 'both', buttonImageOnly: true, buttonImage: '/images/icons/calendar.gif', dateFormat: 'dd/mm/yy'}); 

function customRange(dateStr, date) { 
    if (this.id == 'startDatepicker') { 
     $('#endDatepicker').datepick('option', 'minDate', date); 
    } 
    else { 
     $('#startDatepicker').datepick('option', 'maxDate', date); 
    } 
} 

}); 

function getDateRange() { 
    var fromDate = document.advancedsearch.startDatepicker.value; 
    var toDate = document.advancedsearch.endDatepicker.value; 
    var selectedDateRange = fromDate + "," + toDate; 
    document.advancedsearch.searchdaterange.value += selectedDateRange; 
}     

Fondamentalement, je prends les valeurs de startDatepicker et endDatepicker, combinant les puis les ajouter comme une valeur sur le champ de searchdaterange sur mon formulaire de recherche. La plage de dates doit être aaaaammjj. Est-ce que quelqu'un sait comment je peux formater ces valeurs pour passer dans mon formulaire de recherche?

+0

Sous-chaînes et concaténation? – alex

Répondre

1

Pourquoi pas modifier les chaînes de date fournies par votre sélecteur de date pour qu'ils soient dans le format désiré avant de soumettre les données de formulaire?

function getDateRange() { 
    var fromDate = document.advancedsearch.startDatepicker.value; 
    var toDate = document.advancedsearch.endDatepicker.value; 
    var selectedDateRange = formatDateRange(fromDate, toDate); 
    document.advancedsearch.searchdaterange.value += selectedDateRange; 
} 


function formatDateRange(fromDate, toDate) { 
    var fromDateArray = fromDate.split("/") 
    var toDateArray = toDate.split("/") 
    var selectedDateRange = fromDateArray[2] + fromDateArray[0] + fromDateArray[1]; 
    selectedDateRange += "," + toDateArray[2] + toDateArray[0] + toDateArray[1]; 
    return selectedDateRange; 
} 
+0

brillant! Je vous remercie! – Choy

0

Si vous le pouvez, essayez d'utiliser l'DatePicker jQuery UI: http://jqueryui.com/demos/datepicker/

+0

merci pour la référence. J'ai regardé par dessus la documentation et il semble qu'il a des variables séparées pour le format d'affichage et l'analyse pour passer la chaîne qui est parfaite. Quand j'aurai plus de temps, je chercherai à passer à ce plugin car il semble aussi plus joli. – Choy