Hello,
I am having problem with using c# list variable in jquery while using jquery datepicker. following is my code in .cshmtl file.
If I use "var closedDates = [@String.Join(",", hlist)];" below , this doesn't work. but if I use "var closedDates = ['2017/01/11', '2017/01/12'];, its working fine. So this is a parsing issue I am having. Please help.
@{
List<string> hlist = new List<string>();
hlist.Add("2017/01/11");
hlist.Add("2017/01/12");
<script type="text/javascript">
$(function () {
var year = (new Date).getFullYear();
$("#datepicker").datepicker({
beforeShowDay: nonWorkingDates,
minDate: '+14D',
maxDate: new Date(2017, 8, 30)
});
function nonWorkingDates(date) {
var day = date.getDay(), Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6;
@*var closedDates = [@String.Join(",",hlist)];*@
var closedDays = [[Sunday]];
for (var i = 0; i < closedDays.length; i++) {
if (day == closedDays[i][0]) {
return [true];
}
}
var closedDates = [@String.Join(",", hlist)];
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(), mon = "", day = "";
for (i = 0; i < closedDates.length; i++) {
m = m + 1;
mon = m.toString();
if (mon.length < 2) {
m = "0" + m;
}
day = d.toString();
if (day.length < 2) {
d = "0" + d;
}
if ($.inArray(y + '/' + m + '/' + d, closedDates) > -1) {
return [true];
}
}
return [false];
}
});
</script>
}
What I have tried:
I have also tried parsing like
var closedDates = '<%= this.javaSerial.Serialize(hlist) %>';
but it didn't work as well.
Also
var closedDates = <%= this.javaSerial.Serialize(hlist) %>;
didn't work.