剛遇到了一種情況,從controller中獲得的model是一個集合,需要將這個集合循環放到標簽中,並且需要為這些標簽添加點擊事件,每個值傳入對應的點擊事件函數中,由於model中的值是通過${item.user_id} 獲取的,通過循環得到的標簽的id都是相同的,不能直接通過id獲得數據。以下是我想到的方法,不知道還有沒有更簡單的方法,歡迎回復。
1、由於循環得到的id都是相同的,所以在循環標簽中不添加id,在js中動態添加js.
<th:block th:each="item,itemStat : ${wantadopter}" th:if="${itemStat.count}<=5"> <li> <!-- 帖子操作 post_operation--> <div class="post_operation"> <div class="operation_button"></div> <div class="operation_opt"> <div th:switch="${item.adobtStatus}"> <div th:case="0"> <div class="jjly"> <span class="jujue_box" th:value="${item.user_id}" title="發送消息"></span> </div> </div> </div> </div> </div> </li> </th:block>
2、通過JS獲得model的值
$(function () { const list = [[${wantadopter}]]; var i222 = 0; $(".jujue_box").each(function () { var in11 = i222; $(this).attr('id', "user_" + i222); i222 += 1; }) for(var i=0;i<list.length;i++){ $("#user_"+i).click(function (){ //這樣就獲得了model中的值list[$(this).index()].user_id console.log(list[$(this).index()].user_id); //可以直接傳到JS方法中進行調用 }) } }