2017-11-12 1 views
1

Ich habe eine for:each wie folgt aus:Get Objekt thymelaf

<tbody> 
    <tr th:each="bill : ${bills}" id="bill"> 
     <td th:text="${bill.bill_id}"></td> 
     <td th:text="${bill.client.phone}"></td> 
     <td th:text="${bill.date}"></td> 
     <td><a href="#" class="btn btn-info btn-xs" data-toggle="modal" 
    id="open-modal">Ver detalles</a></td> 
    </tr> 
</tbody> 

Die Frage ist, wie kann ich die gesamte ${bill} einer Variablen in JavaScript oder jQuery bekommen, weil ich mehr Informationen benötigen. Ich sah die Dokumentation und es hieß:

<script th:inline="javascript"> 
    /*<![CDATA[*/ 
    ... 

    var user name = /*[[${bill}]]*/ ''; 

    ... 
    /*]]>*/ 
</script> 

Ich habe dies auf einer externen JavaScript-Datei versucht und es funktioniert nicht.

Antwort

0

Wenn Sie 3 Thymeleaf verwenden, sollten diese

<script th:inline="javascript"> 
    var user name = [[${bill}]]; 
</script> 

Und Sie haben genug sei es, weil er standardmäßig Prozess .html Datei in .html Datei zu setzen. Sie können es in Ihrem .html Datei hinzufügen und es verfügbar sein wird in die Skripts nach dem obigen Code in der .html Datei enthalten

0

Sie können die „Daten“ Attribut in Ihrem HTML verwenden:

<td th-data:id="${bill.id}" th-data:name="${bill.nome}" class="js-datas"> 

Und in Ihr Javascript, dann können Sie erhalten:

var id = $('.js-datas').data('id'); 
var nome = $('.js-datas').data('name'); 

Sie haben die Follow-Namespace in Ihrem HTML verwenden:

xmlns:data="http://www.thymeleaf.org/extras/data"