2016-06-22 4 views
0

Ich verwende derzeit ein Plugin namens multipledatespicker, die von der JQuery-Benutzeroberfläche abgeleitet sind, habe ich die meisten meiner Kalendereinstellung richtig, nur dass ich nicht sicher bin, wie ich den Wert in eine Eingabe zurückgeben soll Box aus dem Inline-Blockkalender.jquery multiplateatespicker Rückgabewert

<div class="iDate"></div> 
<input type="text" name="something" id="something" value="" /> 
var unavailableDates = ["9-7-2016"]; 
function unavailable(date) { 
    dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear(); 
    if ($.inArray(dmy, unavailableDates) == -1) 
     return [true, ""]; 
    else 
     return [false, "denied", "Unavailable"]; 
} 

var dateToday = new Date(); 
$(".iDate").multiDatesPicker({ 
    defaultDate: new Date(), 
    dateFormat: 'dd MM yy', 
    beforeShowDay: unavailable, 
    minDate: dateToday, 
}); 

var dates = multiDatesPicker('value'); 
document.getElementById('something').value = dates; 

wie kann ich die zeigen mehrere ausgewählte Werte von iDate in das Eingabefeld „etwas“?

Antwort

0

Wenn Sie Ihre Mehrfachauswahl für Datum und Uhrzeit an das Eingabefeld anstelle des Divs binden, erhalten Sie nach Auswahl eines Datums in diesem Eingabefeld mehrere durch Kommas getrennte Datumsangaben. Sie können das Eingabefeld nur lesen, damit niemand die ausgewählten Daten manuell bearbeiten kann.

Alternativ können Sie Datumsauswahl ist bei der Auswahl der Veranstaltung, um die Werte in verborgene Elemente oder js Arrays setzen usw.

Beispiel:

var dateToday = new Date(); 
$(".iDate").multiDatesPicker({ 
    defaultDate: new Date(), 
    dateFormat: 'dd MM yy', 
    beforeShowDay: unavailable, 
    minDate: dateToday, 
    onSelect: function(date) { 
     AddDate(date); 
    } 
}); 

//pseudo code -> have no time at work... 
create mydates object // array that holds selected dates 


function AddDate(value) {  
    //warning pseudo code 
    if value in mydates -> remove it for mydates 
    else -> add value to mydates 

}