将多个参数传递给thymeleaf标记的javascript函数

时间:2015-01-29 06:50:18

标签: javascript jquery html thymeleaf

我对百日咳很新。在这里,我一直坚持传递参数。这是我的html页面。

<tr th:each="result : ${searchResult}">
<td>
    <a href="#" th:text="${result.getString('type')} +'|'+  ${result.getString('name')} +'|'+  ${result.getString('revision')}"></a>
</td>
<td>
    <a href="#" role="button" class="green" data-toggle="" onclick="dataSearchAjax1('Source','sourceResultDiv')">view</a>
</td>
</tr>

这是我的javascript函数

function dataSearchAjax1(searchType, resultDiv) {
        var typeVar=searchType;
        $.ajax({
            url : 'dataSearchAjax1',
            data: {type:typeVar},
            success : function(data) {
                $('#'+resultDiv).html(data);
            }
        });
    }

这里我必须传递result.getString(&#39; type&#39;)和result.getString(&#39; name&#39;)而不是&#39; source&#39;和&#39; sourceResultdiv&#39;。

我试过了

 th:onclick="'javascript:dataSearchAjax1(\'' + ${result.getString('type')},${result.getString('name')} + '\');'"

我也尝试过:attr =&#34; online ... tag ..两个都不行。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:8)

您还需要转义,分隔符,因此执行函数调用的代码将是:

th:onclick="'javascript:dataSearchAjax1(\'' + ${result.getString('type')} +'\',\''+ ${result.getString('name')} + '\');'"

答案 1 :(得分:0)

这对我有用,易于使用 [[ ]]

传递多个参数:

<button type="button" id="editUserButton" class="btn btn-primary" th:onclick="editUser([[${user.getId}]],[[${user.getLastName}]])">Edit</button>


th:onclick="dataSearchAjax1([[${result.getString('type')}]] ,[[ ${result.getString('name')}]])"