JQuery, Ajax, Handlebars limpam a tabela e depois repovoam

Crie um formulário que apague e capture dados e preencha uma tabela usando handlebars.js. Funciona muito bem na primeira vez e não será preenchido novamente se os dados forem alterados. Alguma idéia de como fazer isso funcionar?

$('a.button').on("click", function(e){
        e.preventDefault();

        var date = $('#datepicker').val();
        var func = "get_all_swo_by_date";
        //$('table.output').empty();

        $.ajax({
            url: "../includes/db_functions.inc.php",
            type: "post",
            data: ({ p : date, f : func }),
            dataType: "json",
            success: function(results) {
                var source = $("#entry-template").html();
                var template = Handlebars.compile(source);
                $('table.output').empty();
                if(results.length > 0)
                {
                    $.each(results, function(i, context){
                        $('table.output').append( template(context) );
                    });
                } else {
                    $('table.output').append("There is no data to return.");
                }

            }
        });
    });

Quando o "a" com uma classe de botão é clicado, ele preenche a tabela .. (como dito acima). Ok, agora, quando você alterar o datepicker para outra data e clicar no botão "a" com uma classe de botão, ele não preencherá a tabela novamente.

Se alguém tiver uma ideia legítima de por que não funciona, por favor me avise. Por favor não apenas invente coisas. Eu posso fazer isso por conta própria .. :)

questionAnswers(2)

yourAnswerToTheQuestion