2016-04-20 12 views
-1

Ich habe einen spezifischen Bedarf in meinem Projekt, wo ich nur 1. und den 15. eines jeden Monats in der jquery Datumsauswahl aktivieren sollte. Ich habe mehrere Lösungen gesehen, die auf einer Reihe von Daten basieren, aber das wird für mich nicht funktionieren. Gibt es eine Möglichkeit, ein Muster anzuwenden?jquery datepicker: Aktiviere spezifisches Datumsmuster

@mtndesign - Für Ihre Antwort/Frage auf, warum kann ich nicht einen Array verwenden: Die Datumsauswahl sollten immer (alle vergangene, gegenwärtige und zukünftige Monate & Jahre) zeigen nur 1 oder 15. Wie viele Daten, die ich in dem halten kann Array? Wie erstelle ich ein Array nach dem Benutzerverhalten für den vom Benutzer ausgewählten Monat? Ich fühlte, dass es schwierig sein wird, wenn ich

ein Array beginnen zu schaffen
+2

Sie sollten näher ausführen, warum deaktiviert Daten Arrays nicht für Sie arbeiten. – mtndesign

Antwort

0

Ich denke, Sie so etwas wie dies erreichen wollen:

function isAvailable(date) { 
    var dt = date.getDate(); 
    if (dt == 1 || dt == 15) { 
    return [true,"",""]; 
    } else { 
    return [false,"",""]; 
    } 
} 

$('#some_div').datepicker({ beforeShowDay: isAvailable }); 

Eine allgemeine Lösung wäre:

var dates_avail = [1, 15, 23, 27]; 
function isAvailable(date) { 
    var dt = date.getDate(); 
    if (dates_avail.indexOf(dt) != -1) { 
    return [true,"",""]; 
    } else { 
    return [false,"",""]; 
    } 
} 

$('#some_div').datepicker({ beforeShowDay: isAvailable }); 

Oder Überprüfen Sie bestimmte Daten bestimmter Jahre:

var dates_avail = ["1/1/2016", "21/4/2016", "19/3/2016"]; 
function isAvailable(date) { 
    var dt = date.getDate(); 
    dt += "/" + (date.getMonth()+1); 
    dt += "/" + date.getFullYear(); 
    if (dates_avail.indexOf(dt) != -1) { 
    return [true,"",""]; 
    } else { 
    return [false,"",""]; 
    } 
} 

$('#some_div').datepicker({ beforeShowDay: isAvailable }); 
+0

Danke @ mtndesign. Ihre erste Lösung (mit isAvailable-Funktion) ist, was ich betrachte. Genau funktioniert. Danke noch einmal :-) – guru