如何将百里香String变量传递给javascript参数?

时间:2019-07-16 12:18:02

标签: javascript spring-boot thymeleaf

嗨,我是初级程序员。最后,我找到了一种将时间叶变量传递给Javascript函数参数的方法。但是当有几个String变量时,我不知道该怎么做。如何在Javascript函数中传递多个String变量? 我在下面附上源代码:)

function loadDetailView(no,type){
  ...
}

<tbody id="docsTr">
     <tr th:if="${size} == '0'">
    <td colspan=7>No data!</td>
    </tr>
     <tr th:unless="${size} == '0'" th:each="docs : ${list}" 
       **th:onclick="|loadDetailView(${docs.no},${docs.type})|"** (500 error!)
  

*** docs.type为字符串,而docs.no为整数

        <td th:text="${docs.board_no}">1</td>
        <td th:text="${docs.name}">Brian Willson</td>
        <td th:text="${docs.emp_rank}">Manager</td>
        <td th:text="${docs.reg_date}">2019-07-16</td>
      </tr>
</tbody>

错误:仅变量表达式返回数字或布尔值...

1 个答案:

答案 0 :(得分:1)

您不能再将String变量直接放在th:onclick属性中。而是将它们放在data-*属性中,并在onclick函数中引用它们。在您的情况下,它看起来像这样(注意,它不再th:onclick,现在只是onclick ):

<tr th:unless="${size} == '0'"
    th:each="docs : ${list}" 
    th:data-docsNo="${docs.no}"
    th:data-docsType="${docs.type}"
    onclick="loadDetailView(this.getAttribute('data-docsNo'),this.getAttribute('docsType'))"