Javascript 由于某些原因,此代码导致所有单选按钮都按所选内容预先填充。它总是小组中的最后一个

Javascript 由于某些原因,此代码导致所有单选按钮都按所选内容预先填充。它总是小组中的最后一个,javascript,html,forms,validation,onload,Javascript,Html,Forms,Validation,Onload,我有三个单选按钮。如果选择了在主页中标记的表单,则将在要填写的页面上显示一个新表单。一切都很好。但是,由于某些原因,此代码也会导致在页面加载时预填充所有单选按钮组。例如,如果我有一组4个按钮,则第4个按钮在加载时被预先选择,如果是一组6个按钮,则第6个按钮在加载时被选择,依此类推。我已经把范围缩小到这个代码 //显示/隐藏备份V $('input[type=“radio”]”)。单击(函数(){ if($(this.attr(“值”)=“位置”){ $(“.Box”).hide('slow')

我有三个单选按钮。如果选择了在主页中标记的表单,则将在要填写的页面上显示一个新表单。一切都很好。但是,由于某些原因,此代码也会导致在页面加载时预填充所有单选按钮组。例如,如果我有一组4个按钮,则第4个按钮在加载时被预先选择,如果是一组6个按钮,则第6个按钮在加载时被选择,依此类推。我已经把范围缩小到这个代码

//显示/隐藏备份V
$('input[type=“radio”]”)。单击(函数(){
if($(this.attr(“值”)=“位置”){
$(“.Box”).hide('slow');
}
if($(this.attr(“value”)=“hub”){
$(“.Box”).hide('slow');
}
if($(this.attr(“value”)==“inHome”){
$(“.Box”).show('slow');
}        
});
$('input[type=“radio”]”)。触发器('click')

备用呼吸机接口
位置 中心 在家里
  • 删除
    $('input[type=“radio”]”)。触发器('click')
  • 从无线电输入元素中删除冗余ID,并将每个元素上的类attr添加/更新为唯一的类名,例如
    class='backup-venturator-radio'
  • 将单击处理程序选择器从
    $('input[type=“radio”]”)更改为
    $('.backup呼吸机radio')

  • 听起来您的处理程序是由dom中其他单选按钮组上的操作触发的,因为单击侦听器选择器是通用的。

    multiple
    id=“showBackup”
    将导致此OK,但实际上没有改变任何内容。仍然得到相同的结果如果您不希望它被预先选中,请删除此行
    $('input[type=“radio”]”)。触发器('click'):/OK,这对表单上的所有其他按钮都有效,但“inHome”仍然是预选的。这很奇怪。我还试着将单选按钮设置为“checked=”false“。它仍然不起作用。