我在表单中有这个项目表,我需要,每次单击复选框发送AJAX帖子。 问题是AJAX帖子只发送给第一个项目。
我已经在这里阅读了其他问题,但我无法解决问题,因为它们都没有解决问题。
所有这些都在我的django / python应用程序中,如果这可以提供任何帮助。
谢谢!
我的表格/表格:
<form method="post" action="{% url 'myapp:ajax-function' %}">
<table>
<tr>
<td>
Number: <input type="text" name="number" />
</td>
<td>
Title: <input type="text" name="title" />
</td>
<td>
Insert:<input id="check" type="checkbox" data-id={{ doc.id }} name="checkebox"/>
</td>
</tr>
</table>
</form>
我的AJAX:
$("#check").each(function(){
$(this).on("click", function(){
var checked = $('#check').val();
var message_id = $('#check').attr('data-id');
$.ajax({
url : "{% url 'myapp:ajax-function' %}",
//async: false,
type : "POST",
data:{
'csrftoken':getCookie('csrftoken'),
checked:checked,
message_id:message_id},
success : function(result) {
console.log(result); // sanity check
},
error : function(xhr,errmsg,err) {
console.log(xhr.status + ": " + xhr.responseText);
},
});
});
});
答案 0 :(得分:2)
元素ID必须只出现一次。为您的复选框分配一个类并更改选择器:
Insert:<input class="check" type="checkbox" data-id={{ doc.id }} name="checkebox"/>
&#13;
$(".check").each(function(){
//........