我正在尝试这样做,以便当我点击表格中客户端行中的复选框时,我希望我的ajax发送ID和复选框值(如果选中则为1或0 | 1 | 0如果不是检查)到我的PHP代码并为0或1的特定用户更新名为'enabled'的列。在我的代码中,每次单击复选框的标签以进行更新时,它只更新一个客户端。最重要的是:
向您显示每个用户的复选框 - 我现在使用文本框显示用户ID不同,但它只更新顶部列 - 客户端ID号46
这是我的代码
HTML / PHP表
<td style="border: 1px solid #eee; text-align: center; font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'enabled','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);">
<input type="textbox" name="id_value" id="id_value" value="<?php echo $faq[$k]["id"]; ?>">
<div class="checkbox checkbox-inverse checkbox-circle">
<?php echo $faq[$k]["enabled"] == 1 ?
'<input id="checkbox-15" value="1" name="checkbox" type="checkbox" checked ><label for="checkbox-15">ON</label>'
:
'<input id="checkbox-15" type="checkbox" name="checkbox"><label for="checkbox-15">OFF</label>'; ?>
</div>
我的AJAX代码
<script type="text/javascript">
$(document).ready(function() {
$('#custom7').click(function() {
if($(this).is(":checked")) {
$(this).siblings('label').html('on');
} else {
$(this).siblings('label').html('off');
}
});
});
</script>
<script>
$(document).ready(function() {
$('input[name=checkbox]').click(function() {
var id = $('#id_value').val();
if ($(this).is(':checked'))
var checkbox = '1';
else
var checkbox = '0';
$.ajax({
type:'POST',
url:'includes/saveedit_members.php',
data: {
id: id,
checkbox: checkbox
}
}).done(function(response) {
window.location.replace("admin_members.php");
});
});
});
</script>
<script type='text/javascript'>
function isNumberKey(evt) {
myOutput = document.getElementById('add_user_result');
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
myOutput.innerHTML = "<font style='color: red;'>You must fill in all the blanks.</font>";
return false;
} else {
return true;
}
}
$(document).ready(function() {
$("#add_user_result").hide();
});
function showEdit(editableObj) {
$(editableObj).css("background","#FFF");
}
function saveToDatabase(editableObj,column,id) {
$(editableObj).css("background","#FFF url('images/spin.gif') no-repeat right");
$.ajax({
url: "includes/saveedit_members.php",
type: "POST",
data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
success: function(data){
window.location.replace("admin_members.php");
}
});
}
我的PHP接收代码
if(isset($_POST['checkbox'])) {
mysqli_query($con, "UPDATE users set enabled = '".$_POST['checkbox']."' WHERE id=".$_POST["id"]);
}
if(!isset($_POST['column']) || !isset($_POST["editval"]) || !isset($_POST["id"])) {
header('Location: error-pages/index.php');
} else if(isset($_POST['column']) && isset($_POST["editval"]) && isset($_POST["id"])) {
mysqli_query($con, "UPDATE users set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE id=".$_POST["id"]);
}
如果有人可以帮助我,请记住,我希望它能获得特定用户的ID,以便我的php代码可以更新选中的复选框;不是全部或一个客户。