Aqui tenho os botões que recebem o objeto do controller com o mês e ano atual
<nav>
<ul class="pager">
<li class="previous">
<button id="filtrarData_${dataAntUrl}" onclick="tbody(date)"
class="btn btn-default btn-outline pull-left" value="${dataAntUrl}">
<span aria-hidden="true"><i
class="icon wb-chevron-left-mini" aria-hidden="true"></i></span>
<fmt:parseDate pattern="MM/yyyy" value="${dataAntUrl}" var="date" />
<fmt:formatDate value="${date}" pattern="MMMM yyyy" var="st1"/>
<c:set var="st2" value="${fn:replace(st1, ' ', ' de ')}" />
${st2}
</button>
</li>
<li class="center">
<button id="filtrarData_${dataAtuUrl}" onclick="tbody(date)"
class="btn btn-default btn-direction btn-outline btn-bottom" value="${dataAtuUrl}">
<span aria-hidden="true"></span>
<fmt:parseDate pattern="MM/yyyy" value="${dataAtuUrl}" var="date" />
<fmt:formatDate value="${date}" pattern="MMMM yyyy" var="st1"/>
<c:set var="st2" value="${fn:replace(st1, ' ', ' de ')}" />
${st2}
</button>
</li>
<li class="next">
<button id="filtrarData_${dataPosUrl}" onclick="tbody(date)"
class="btn btn-default btn-outline pull-right"
value="${dataPosUrl}">
<fmt:parseDate pattern="MM/yyyy" value="${dataPosUrl}" var="date" />
<fmt:formatDate value="${date}" pattern="MMMM yyyy" var="st1"/>
<c:set var="st2" value="${fn:replace(st1, ' ', ' de ')}" />
${st2}
<span aria-hidden="true"> <i
class="icon wb-chevron-right-mini" aria-hidden="true"></i></span>
</button>
</li>
</ul>
</nav>
Aqui a a rotina que recebe os dados, depois do click, enviados e retornados agora com a nova data mês e ano, anterior, atual ou posterior!
<script>
$(document).ready(function() {
$('button[id*="filtrarData_"]').click(function (){
var pegaData = $(this).val();
console.log(pegaData);
tbody(pegaData);
});
//obj - {"dataAntUrl":"05/2017","dataAtuUrl":"06/2017","dataPosUrl":"07/2017"}
function tbody(date){
var urlData = "datas/" + date;
console.log(urlData);
$.ajax({
url: urlData,
beforeSend: function(){
console.log("Carregando..");
},
success: function(retorno){
console.log("Retorno = " + retorno);
var obj = JSON.parse(retorno);
$('button[id*="filtrarData_"]').append("filtrarData_" + obj.dataPosUrl);
},
error : function(a,b,c){
alert('Erro: '+a[status]+' '+c);
}
});
}
} );
</script>
A pergunta é como posso implementar para atualizar a div que estão esses botões inserindo os novos valores que capturo por json! Ou enviar o objeto normalmente como da primeira vez que a que carrega a página, sem dar o refresh, apenas atualizando a div? Lembrando que são três valores ao mesmo tempo que está dentro do objeto!