jQuery复选框不会更新

时间:2017-11-15 05:37:28

标签: jquery checkbox dynamic edit

这是我的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';
}

我不知道自己做得如何做得很好,而且在阅读了互联网上的几十篇帖子之后,我真的很难过。出于某种原因,我可以让它将我的数据库值更改为“1”,然后它就会卡在那里。在我的数据库中,我有一个名为“a_qual”的列来存储复选框的“质量”,并将其设置为TINYINT。有人能解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

复选框的规则是发送&#34;值&#34;检查时,否则不发送任何内容。所以要发送&#39; 0&#39;,如果没有选中复选框,需要手动完成。我的意思是,在你的on(&#39;更改&#39; ....)方法中,请解决一个条件,看看是否选中了复选框,然后根据该设置a_qual的值。

  

var a_qual = $(&#34;输入[type =&#39;复选框&#39;]&#34;)。val();

希望这会对你有所帮助。