2013-01-16 27 views
10

İlk önce aradım ama Thymeleaf için yeni olduğumdan beri kafa karıştırıcı cevaplar buldum ve en iyi javascript amatörce.İçeriği kullanmadan javascript'e değişken ifadeyi kullanarak: inline

Sadece çeşit JSP gibi, javascript fonksiyonları içine değişken ifadeleri geçmesine nasıl bilmek istiyorum: Elbette

<a href="#" onclick="javascript:getContactId('${contact.id}');">Button</a> 

, bu Thymeleaf ile başarısız olur ve üs $ {contact.id} yerine geçer onun değeri, öyleyse değişken ifadesinin değerini nasıl alabilirim?

Bu şekilde olmasını istediğim nedeni, th:each tarafından yinelenen satırlara bağlıdır.

th:inline'u kullanmanın başka bir yolu yoksa, yukarıdaki ifadeyi dikkate alarak en iyi yaklaşım hangisidir?

cevap

27

Bu seferki çalıştı: http://forum.thymeleaf.org/variable-expression-into-javascript-without-using-th-inline-td4025534.html

:

th:onclick="'javascript:getContactId(\'' + ${contact.id} + '\');'" 

sayesinde thymeleaf foruma söner

+0

Bu, tek bir parametreyle benim için çalışıyor, ancak iki parametrede nasıl göründüğünü göremiyorum (henüz). – demaniak

+0

Ah nevermind, anladım! (Örnek) için sabit bir dizge param, yukarıdaki gibi: onclick = "'javascript: getContactId (\' someString \ ', \' '+ $ {contact.id} +' \ ');' '' Cool , Teşekkürler! – demaniak

0

javascript değişkenlerini onclick veya diğer DOM özniteliklerine koyamazsınız. onclick veya başka bir DOM özniteliğinin değeri sabit bir dize olmalıdır.

Ancak, dinamik böyle, javascript onclick özelliğinin değerini değiştirebilirsiniz:

yourDomElement.onclick = anyVariable; 
+0

ne demek istiyorsun? Bu, bir etiketinin parçası olacaktır. – Nimchip

+0

etiketinin bir parçası sabit bir dize olmalıdır. Dinamik olarak bunu

İlgili konular