W moim kontrolerze zwracam obiekt modelu w następujący sposób:
double[] calculateYearMonth=statistics.CalculateActive();
modelAndView.addObject("statistics",calculateYearMonth);
Ta metoda calculActive zwraca tablicę z 4 elementami. Kobieta, mężczyzna, rok, miesiąc, stosunek.
W moim HTML mam div, a pod nim mam dwa linki:
<div class="row centerAlign">
<h1><strong>RESULTS</strong></h1>
</div>
<div class="row centerAlign" id="month">
<div>
<a href="" style="float: right;">Month</a>
<a href="" style="float: left;">Year</a>
</div>
</div>
Kiedy klikam kotwicę, która mówi Miesiąc, jachcesz uzyskać statystyki obiektu [3] - więc trzeci element i wyświetlić go tam, gdzie mówi WYNIK. A kiedy klikam na Rok, chcę uzyskać statystyki, ale czwartego członka. I wyświetl go w wynikach.
Jak to zrobić za pomocą Thyemeleaf? Jak połączyć wybraną kotwicę z wyświetlaną? Dzięki
Odpowiedzi:
0 dla odpowiedzi № 1Możesz użyć poniższego, aby zapisać dane w obiekcie javascript:
<script th:inline="javascript">
var stats = /*[[${statistics}]]*/{};
</script>
Następnie ten obiekt javascript stats
jest dostępny po stronie klienta i można pobrać wymagane dane na podstawie klikniętej kotwicy
<a href="javascript:void(0);" style="float: right;"
class="results" data-index="3">Month</a>
<a href="javascript:void(0);"style="float: right;"
class="results" data-index="4">Year</a>
A w obsłudze zdarzeń możesz napisać:
$(".results").on("click", function(){
var index = $(this).data("index");
var statObj = stats[index];
});