我有一个复选框,选中它时我想将复选框的值输入数据库。请帮我找到为此的 Ajax 和 php 代码。 我试过这个
$(document).on('click', "input[type='checkbox']", function() {
var checkbox = $(this);
var checked = checkbox.attr('checked');
$.ajax({
url:"<?php echo base_url("contact-details-availability"); ?>",
type: 'post',
data: {
action: 'checkbox-select',
id: checkbox.attr('contact_avl'),
checked: checked
},
success: function(data) {
//alert(data);
},
error: function(data) {
// alert(data);
// Revert
checkbox.attr('checked', !checked);
}
});
});
和
public function add_contact_details_availability()
{
if($_POST['action'] == 'checkbox-select') {
$checkbox = $_POST['id'];
$checked = $_POST['checked'];
// Your MySQL code here
echo 'Updated';
}
echo 'Code ran';
}
但是这行不通
最佳答案
这是工作中的 JQuery
<script>
$(document).on("change", "input[name='chk']", function () {
var checkbox = $(this);
var checked = checkbox.prop('checked');
$.ajax({
url:"<?php echo base_url("contact-details-availability"); ?>",
type: 'post',
data: {
action: 'checkbox-select',
id: checkbox.data('contact_avl'),
checked: checked
},
success: function(data) {
//alert(data);
},
error: function(data) {
// alert(data);
// Revert
checkbox.attr('checked', !checked);
}
});
});
</script>
HTML
<input type="checkbox" name="chk" id="chk" data-contact_avl="val" value="1">check
我说它工作是因为所有三个值都通过了。 修复的更改是:
1]将varchecked=checkbox.attr('checked');
更改为varchecked=checkbox.prop('checked');
2]将id:checkbox.attr('contact_avl')
更改为id:checkbox.data('contact_avl')
3]将onclick
更改为onchange
关于php - 如何使用ajax和php在没有表单的情况下使用复选框将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32983897/