我正在尝试使用单选按钮通过ajax发送数据。如果单击并选中单选按钮,则在数据库中设置值1。如果已选中单选按钮,但单击以取消选中它,则将值0发送到数据库。我正在使用的代码发送值onclick并检查单选按钮但不取消选中,因此不会将值发送到数据库。请帮忙。
<input type="radio" name="home['. $row["id"].']" id="'. $row["id"].'">
<script>
$(document).ready(function(){
$('input[type="radio"]').click(function(){
var checked = $(this).prop('checked');
if (checked != 'checked') {
$(this).prop('checked', true);
var id = $(this).attr('id');
$.ajax({
url:"updateaddress.php",
method:"POST",
data:{home:"1",id:id,},
});
} else if (checked == 'checked') {
$(this).prop('checked', false);
var id = $(this).attr('id');
$.ajax({
url:"updateaddress.php",
method:"POST",
data:{home:"0",id:id,},
});
}
});
});
</script>
答案 0 :(得分:2)
复选框和
$('input[type="checkbox"]').on("click", function(){
$.post("updateaddress.php",{home:this.checked,id:this.id});
});
就是你需要的一切
如果必须使用收音机,请查看
How to Check/Uncheck single radio button
$('input[type="radio"]').on("click", function(){
$.post("updateaddress.php",{home:this.checked,id:this.id});
this.checked=!this.checked;
});
答案 1 :(得分:1)
当有多个选项时,使用单选按钮,用户只能检查一个选项。因此,用户在检查时无法取消选中单选按钮。您明确地创建了一个onclick监听器并更改单选按钮状态。但它不是建议。你可以使用复选框来实现onchange事件。
Invoke-Sqlcmd
答案 2 :(得分:0)
<input type="radio" name="home['. $row["id"].']" id="'. $row["id"].'">
<script>
$(document).ready(function(){
$('input[type="radio"]').click(function(){
var data = {home:"0",id:$(this).attr("id")};
if ($(this).is(":checked")) {
data = {home:"1",id:$(this).attr("id")};
}
$.ajax({
url:"updateaddress.php",
method:"POST",
data:data,
});
});
});
</script>
您可以使用此脚本。只需选中是否选中单选按钮,然后相应地发送您的值。