我設置了一個復選框,該復選框應與列表中的每一行一起出現。我想根據復選框狀態傳遞 row.id 和布爾值。但問題是它只適用于第一個復選框:id 和布爾狀態被傳遞。{% for row in list %} .... <label> Off <input name="active{{ row.id }}" id="active{{ row.id }}" type="checkbox" list_id="{{ row.id }}"> <span class="lever"></span> On </label> ....{% endfor %}我添加了 javascript 來監聽復選框狀態,并在檢查后向 Flask 應用程序發送 POST 請求。它可以工作,但僅在選中第一個復選框時才會觸發,Jinja2 生成的所有其他復選框都會被忽略。document.addEventListener('DOMContentLoaded', function () { var checkbox = document.querySelector('.input[type="checkbox"]'); checkbox.addEventListener('change', function () { var list_id = $(this).attr('list_id'); if (checkbox.checked) { req = $.ajax({ url : '/dashboard', type : 'POST', data : { id: list_id, active : 'true' } }); console.log(list_id); } else { req = $.ajax({ url : '/dashboard', type : 'POST', data : { id : list_id, active: 'false' } }); console.log(list_id); } });});
復選框偵聽器未觸發
桃花長相依
2023-07-20 14:28:21