My guess is that the buttons you created are not yet on the page by the time you bind the button. Either bind each button in the $.getJSON
function, or use a dynamic binding method like:
$('body').on('click', 'button', function() {
...
});
Note you probably don't want to do this on the 'body' tag, but instead wrap the buttons in another div or something and call on
on it.