thymeleaf onclick传参问题

先让你们看下正确的写法,亲测有效!!!!:

1
2
3
<a th:data-id="${syx.id}" href="javascript:void(0);"
onclick="serarchDataById(this,this.getAttribute('data-id'))"  
th:text="${syx.sickNessname}"></a>

用thymeleaf 这玩意,是挺方便的,但是根据也很坑,因为都是向下兼容,它和倒好,直接给你弄死了。
开始我的写法是这样的:

1
2
<a onclick="'javascript:serarchDataById(\''+${syx.id}+'\');'"  
th:text="${syx.sickNessname}"></a>

按理来说,很朴实无华的写法,也最让人接受的写法,但是它就给你浏览器报错,解析不出来。然后搜google,说已经过时的写法了,我在这先呵呵一下,坑之一。
然后再搜,现在的写法是啥,结果如下:

1
2
1.<a  th:onclick="|serarchDataById(${syx.id})|"  th:text="${syx.sickNessname}"></a><br/>
2.<a  th:onclick="serarchDataById([[${syx.id}]])"  th:text="${syx.sickNessname}"></a>

这两种写法呢,第一种写法呢,跟上面那个朴实无华的效果一样,浏览器报错,第二种写法呢,编译报错,但是浏览器能解析,解析结果呢真的让人无语,让你们看下我这的第二种方法的效果:

在这里插入图片描述
在这里插入图片描述
所以这4种方法,就第一种方法能用,亲测有效!!!!