È possibile disabilitare determinati giorni della settimana con il plugin datepicker di Bootstrap.
La soluzione è la seguente:
"use strict";
$.filterDates = function( filterDay ) {
var dayMs = 86400000;
var ts = [];
var start = new Date();
for( var i = 1; i <= 365; i++ ) {
var d = dayMs * i;
var s = start.getTime() + d;
var nd = new Date( s );
if( nd.getDay() !== parseInt( filterDay, 10 ) ) {
var yy = nd.getFullYear().toString();
var mm = ( ( nd.getMonth() + 1 ) < 10 ) ? '0' + ( nd.getMonth() + 1 ).toString() : ( nd.getMonth() + 1 ).toString();
var dd = ( nd.getDate() < 10 ) ? '0' + ( nd.getDate() ).toString() : ( nd.getDate() ).toString();
var f = yy + "-" + mm + "-" + dd;
ts.push( f );
}
}
var yy2 = start.getFullYear().toString();
var mm2 = ( ( start.getMonth() + 1 ) < 10 ) ? '0' + ( start.getMonth() + 1 ).toString() : ( start.getMonth() + 1 ).toString();
var dd2 = ( start.getDate() < 10 ) ? '0' + ( start.getDate() ).toString() : ( start.getDate() ).toString();
var f2 = yy2 + "-" + mm2 + "-" + dd2;
ts.unshift( f2 );
return ts;
};
I numeri corrispondenti ai giorni della settimana vanno da 0 a 6. Quindi se volessimo abilitare solo i mercoledì, scriveremo:
"use strict";
$( "#date" ).datepicker({
format: "yy-mm-dd",
datesDisabled: $.filterDates( 3 )
});