我在一个页面上有几个表单,它们都包含2个隐藏元素和一个复选框。更改复选框后,我想通过ajax提交表单并写入我的数据库。
形式:
<form method="post" id="deadline_form<?php echo $aid; ?>" action="" style="width: 20px;" class="pull-left" >
<input type="hidden" name="aid" value="<?php echo $act_array['activity']['aid']; ?>">
<input type="hidden" name="uid" value="<?php echo $uid; ?>">
<input class="deadline_on" type="checkbox" name="deadline_on" id="deadline_on" value="1" <?php if($deadline_checked){ echo "checked='checked'"; } ?> >
</form>
JQuery的:
$('.deadline_on').on('change', function(){
var id=$(this).parent("form").attr('id');
console.log(id);
var id_complete = '#'+id;
$(id_complete).submit(function(){
console.log(id_complete);
dataString = $(id_complete).serialize();
$.ajax({
type: "POST",
url: "/activities/edit_deadline_preference",
data: dataString,
success: function(data){
}
});
return false; //stop the actual form post !important!
});
});
JQuery(提交)的L5之前的所有内容都有效,之后无效。任何帮助表示赞赏。
答案 0 :(得分:1)
我希望您不需要:$(id_complete).submit(function(){
这就够了:
$('.deadline_on').on('change', function(){
dataString = $(this).parent("form").serialize();
$.ajax({
type: "POST",
url: "/activities/edit_deadline_preference",
data: dataString,
success: function(data){
}
});
});