Ho bisogno di mostrare testo personalizzato in alcune date su Jquery UI datepicker, per essere più precisi, per il rendering di un prezzo specifico per alcune date. La mia idea era di usare beforeShowDay per allegare un prezzo specifico nei titoli di tali date e poi, in beforeShow per controllare ogni td e inserire il testo del titolo nella cella. Esempio:Quale modo per aggiungere testo a jquery ui datepicker cell?
var m, d, y, checkDate, specificPrice = '';
var specificPrices = {"2013-3-8":"300 EUR", "2013-2-26":"263 EUR"}
$('#my-datepicker').datepicker({
beforeShowDay: function checkAvailable(date) {
m = date.getMonth();
d = date.getDate();
y = date.getFullYear();
checkDate = y + '-' + (m+1) + '-' + d;
if(specificPrices[checkDate]){
specificPrice = specificPrices[checkDate];
}else{
specificPrice = '';
}
return [true, "", specificPrice];
},
beforeShow: function(elem, inst){
$('table.ui-datepicker-calendar tbody td', inst.dpDiv).each(function(){
var calendarPrice = $(this).attr('title');
if(calendarPrice != undefined){
$(this).find('a').append('<span class="calendar-price">' + calendarPrice + '<span>');
}
});
}
});
Questo renderà i prezzi sul primo calendario rendono (prima mese/anno sono cambiate) e solo per il calendario in linea.
Ho bisogno che i prezzi vengano mostrati sul calendario non in linea e su qualsiasi cambio mese/anno.
Ho provato altre varianti e ho provato a utilizzare onChangeMonthYear, ma finora non ha avuto esito positivo.
Grazie per l'attenzione, le vostre idee sono ben accette.
Ho sviluppato una soluzione che funziona per datepickers standard e in linea che potrebbe interessarti, vedere la mia [risposta] (http://stackoverflow.com/a/22822254/2464634) qui sotto . –
Scusa, più di un anno è passato da quando ho fatto questa domanda. In questo momento sono fuori da questo problema. Anche se cercherò di trovare un po 'di tempo libero per rivedere il tuo approccio più tardi per accettare è una soluzione. – yuga