I try to do an onclick on an anchor inside an append and it does not work How can I solve this?
$(function(){
var weekday= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var months = ["January","February","March","April","May", "June", "July","August","September","October","November","December"];
var d = new Date();
var day = d.getDate();
var month = d.getMonth();
var year = d.getFullYear();
function days(month,year) {
//last day of month
var lastDay = new Date(year,month + 1, 0).getDate();
//first day of month
var a = new Date("1 ,"+months[month]+","+year+"");
//month string
$("#date").html(months[month]+" "+year);
var counter = 0;
$("#days").html("<tr>");
for(var i = 1; i < lastDay+1;i++,counter++){
//blank space
if(i == 1){
for(var j = 0; j < a.getDay();j++,counter++){
$("#days").append("<td></td>");
}
}
//new week
if(counter%7 == 0){
$("#days").append("</tr><tr>");
}
//display days
$("#days").append("<td class='day_active'><a href='' onclick='dayClicked("+i+")'>"+i+"</a></td>");
}
};
//dayClicked
function dayClicked(day){
alert("you have clicked day: "+day);
}
//left click
$("#prev").on("click",function(){
if(month == 0){
year--;
month = 12;
}
month--;
days(month,year);
});
//right click
$("#next").on("click",function(){
if(month == 11 ){
year++;
month = -1;
}
month++;
days(month,year);
});
days(month,year);
});
.btn{
cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="btn" id="prev">⟨</span>
<span id="date"></span>
<span class="btn" id="next">⟩</span>
<table>
<tr id="weekdays">
<td>Su</td>
<td>Mo</td>
<td>Tu</td>
<td>We</td>
<td>Th</td>
<td>Fr</td>
<td>Sa</td>
</tr>
<tbody id="days"></tbody>
</table>