如何在没有表单的情况下使用ajax和php使用复选框将数据插入数据库
当我选中复选框时,我想将复选框的值输入数据库。请帮助我找到用于此的Ajax和php代码。 我试过这个如何在没有表单的情况下使用ajax和php使用复选框将数据插入数据库,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,当我选中复选框时,我想将复选框的值输入数据库。请帮助我找到用于此的Ajax和php代码。 我试过这个 $(document).on('click', "input[type='checkbox']", function() { var checkbox = $(this); var checked = checkbox.attr('checked'); $.ajax({ url:"<?php echo base_url("contact-de
$(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);
}
});
});
但它不起作用试试这个:
var id = checkbox.attr('contact_avl'),
$.ajax({
url:"<?php echo base_url("contact-details-availability"); ?>",
type: 'post',
data: {
action: 'checkbox-select',
id: id,
checked: 'checked'
},
success: function(data) {
//alert(data);
},
error: function(data) {
// alert(data);
// Revert
checkbox.attr('checked', !checked);
}
});
var id=checkbox.attr('contact_avl'),
$.ajax({
url:“”,
键入:“post”,
数据:{
操作:“选中复选框”,
id:id,
选中:“选中”
},
成功:功能(数据){
//警报(数据);
},
错误:函数(数据){
//警报(数据);
//恢复
checkbox.attr('checked',!checked);
}
});
以下是工作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>
$(文档)。在(“更改”、“输入[name='chk']”上,函数(){
var复选框=$(此);
var checked=checkbox.prop('checked');
$.ajax({
url:“”,
键入:“post”,
数据:{
操作:“选中复选框”,
id:checkbox.data('contact_avl'),
勾选:勾选
},
成功:功能(数据){
//警报(数据);
},
错误:函数(数据){
//警报(数据);
//恢复
checkbox.attr('checked',!checked);
}
});
});
HTML
检查
我说这是在工作,因为这三个值都在传递。
对修复所做的更改包括:
1] 已更改var checked=checkbox.attr('checked')
tovar checked=checkbox.prop('checked')代码>
2] 将id:checkbox.attr('contact_avl')
更改为id:checkbox.data('contact_avl')
3] 将
onclick
更改为onchange
但它不起作用
哪一部分在这里不起作用?您是否查看了firbug以检查是否发送到url?该值不传递,并显示错误未定义索引id,并在ajax中检查,var\u dump($\u POST)
您将看到所有值都发布了什么。请尝试用更改事件代替单击,还有一件事将选中的替换为任何其他属性,因为有一个属性具有相同的名称。让我知道。我还有一个疑问,当我们选中复选框后,它在刷新页面后仍处于选中状态。这怎么可能?大多数情况下,这是因为浏览器的行为。阅读此链接上的模式:并在以下链接上获取此模式的解决方案:
<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>
<input type="checkbox" name="chk" id="chk" data-contact_avl="val" value="1">check