jQuery 复选框不会更新
jQuery checkbox won't update
这是我的 html:
<tr>
<td class="tg-031e"><input type="checkbox" name="sel_a" class="a_qual" data-id23="<?php echo $row["id"]; ?>"
<?php if($row["a_qual"] == 1) { echo "checked='1'"; } ?>
></td>
<td class="a" colspan="2" data-id3="<?php echo $row["id"]; ?>" contenteditable><?php echo $row["a"] ?></td>
</tr>
这是我的 jQuery:
$(document).on('change', '.a_qual', function(){
var id = $(this).data("id23");
var a_qual = $("input[type='checkbox']").val();
edit_data(id, a_qual, "a_qual");
console.log('my message' + a_qual);
});
这是我的 edit_data 函数:
function edit_data(id, text, column_name)
{
$.ajax({
url:"edit.php",
method:"POST",
data:{id:id, text:text, column_name:column_name},
dataType:"text",
success:function(data){
fetch_data();
}
});
}
这是我的 edit.php:
include_once("includes/connection.php");
$sql = "UPDATE questions SET ".$_POST['column_name']."='".$_POST['text']."'
WHERE id='".$_POST['id']."'";
// echo $sql;
if(mysqli_query($connection, $sql))
{
echo 'Data Inserted';
}
我不知道自己在哪些方面做得足够好以完成这项工作,在阅读了 Internet 上的数十篇帖子后,我真的很困惑。出于某种原因,我可以让它将我的数据库值更改为“1”,然后它就卡在那里了。在我的数据库中,我有一个名为 "a_qual" 的列来存储复选框的 "quality" 并且它被设置为 TINYINT。谁能解决我的问题?
checkboxes的规则是选中时发送"value",否则什么都不发送。因此,如果未选中复选框,则发送“0”需要手动完成。这么说我的意思是,在你的 on('change',....) 方法中,请绕过一个条件来查看复选框是否被选中,然后根据该条件设置 [=17= 的值].
var a_qual = $("input[type='checkbox']").val();
希望对您有所帮助。
这是我的 html:
<tr>
<td class="tg-031e"><input type="checkbox" name="sel_a" class="a_qual" data-id23="<?php echo $row["id"]; ?>"
<?php if($row["a_qual"] == 1) { echo "checked='1'"; } ?>
></td>
<td class="a" colspan="2" data-id3="<?php echo $row["id"]; ?>" contenteditable><?php echo $row["a"] ?></td>
</tr>
这是我的 jQuery:
$(document).on('change', '.a_qual', function(){
var id = $(this).data("id23");
var a_qual = $("input[type='checkbox']").val();
edit_data(id, a_qual, "a_qual");
console.log('my message' + a_qual);
});
这是我的 edit_data 函数:
function edit_data(id, text, column_name)
{
$.ajax({
url:"edit.php",
method:"POST",
data:{id:id, text:text, column_name:column_name},
dataType:"text",
success:function(data){
fetch_data();
}
});
}
这是我的 edit.php:
include_once("includes/connection.php");
$sql = "UPDATE questions SET ".$_POST['column_name']."='".$_POST['text']."'
WHERE id='".$_POST['id']."'";
// echo $sql;
if(mysqli_query($connection, $sql))
{
echo 'Data Inserted';
}
我不知道自己在哪些方面做得足够好以完成这项工作,在阅读了 Internet 上的数十篇帖子后,我真的很困惑。出于某种原因,我可以让它将我的数据库值更改为“1”,然后它就卡在那里了。在我的数据库中,我有一个名为 "a_qual" 的列来存储复选框的 "quality" 并且它被设置为 TINYINT。谁能解决我的问题?
checkboxes的规则是选中时发送"value",否则什么都不发送。因此,如果未选中复选框,则发送“0”需要手动完成。这么说我的意思是,在你的 on('change',....) 方法中,请绕过一个条件来查看复选框是否被选中,然后根据该条件设置 [=17= 的值].
var a_qual = $("input[type='checkbox']").val();
希望对您有所帮助。