Javascript 第二次单击时清除/取消选择单选按钮
我正在创建的表单上有很多单选按钮 我之所以使用单选按钮而不是复选框,是因为我只想让用户选择一个或不选择一个 但单选按钮的缺点是,一旦选中,它就无法撤消。我正在尝试添加一个功能,即在第二次单击时清除一组广播框 如果我有一组单选按钮,我现在实现的方法可以工作,但如果我想为页面上的所有单选按钮组实现它,则无法工作 当我使用多个单选按钮组时,当我尝试选择其他选项时,它将随机取消选择一个单选按钮 如果有人能帮助我,我将不胜感激 (作品) 如果您改为使用此代码,并以单个名称为目标,则此代码会起作用 (不起作用) 我试图一次瞄准我所有的单选按钮组,因为有很多Javascript 第二次单击时清除/取消选择单选按钮,javascript,jquery,html,radio-button,Javascript,Jquery,Html,Radio Button,我正在创建的表单上有很多单选按钮 我之所以使用单选按钮而不是复选框,是因为我只想让用户选择一个或不选择一个 但单选按钮的缺点是,一旦选中,它就无法撤消。我正在尝试添加一个功能,即在第二次单击时清除一组广播框 如果我有一组单选按钮,我现在实现的方法可以工作,但如果我想为页面上的所有单选按钮组实现它,则无法工作 当我使用多个单选按钮组时,当我尝试选择其他选项时,它将随机取消选择一个单选按钮 如果有人能帮助我,我将不胜感激 (作品) 如果您改为使用此代码,并以单个名称为目标,则此代码会起作用 (不起作
尝试更改行以在选择器表达式中使用单击的单选项的name属性
$radio.siblings('input[name='+ $(this).attr('name') +']').data('waschecked', false);
您只需清除同一组其他收音机上的“waschecked”标志
如果您确实需要使用onchange瞄准目标:
尝试更改行以在选择器表达式中使用单击的单选项的name属性
$radio.siblings('input[name='+ $(this).attr('name') +']').data('waschecked', false);
您只需清除同一组其他收音机上的“waschecked”标志
如果您确实需要使用onchange瞄准目标:
如果您使用的是简单的主从关系,请尝试以下方法:
$('input[type="radio"][name="main_radios"]').on('change', function(){
$('input[type="radio"][name="secondary_radios"]').prop('checked', false);
$('input[type="radio"][name="third_radios"]').prop('checked', false);
$('input[type="radio"][name="fourth_radios"]').prop('checked', false);
// combine it all into one call if you really feel like it
$('input[type="radio"][name="secondary_radios"], input[type="radio"][name="third_radios"], input[type="radio"][name="fourth_radios"]').prop('checked', false);
});
取消选中所有不是“此”名称的收音机
如果您使用的是简单的主从关系,请尝试以下方法:
$('input[type="radio"][name="main_radios"]').on('change', function(){
$('input[type="radio"][name="secondary_radios"]').prop('checked', false);
$('input[type="radio"][name="third_radios"]').prop('checked', false);
$('input[type="radio"][name="fourth_radios"]').prop('checked', false);
// combine it all into one call if you really feel like it
$('input[type="radio"][name="secondary_radios"], input[type="radio"][name="third_radios"], input[type="radio"][name="fourth_radios"]').prop('checked', false);
});
取消选中所有不是“此”名称的收音机
因此,您只需要通过
name
组可靠地检查/取消检查
像这样的方法应该会奏效:
$('input[type="radio"]').on('click change', function () {//on click/change
$(this).prop('checked')//if checked
? $(this).prop('checked',false).data('waschecked', false)//uncheck
: $(this).prop('checked',true).data('waschecked', true)//else check
.siblings('input[name="'+$(this).prop('name')+'"]').data('waschecked', false);//make siblings false
});
保留.data('waschecked',…)
以防需要该值,但如果没有该值,它会像这样工作:
$('input[type="radio"]').on('click change', function () {//on click/change
$(this).prop('checked')//if checked
? $(this).prop('checked',false)//uncheck
: $(this).prop('checked',true);//else check
});
做了一个小动作:所以你只需要通过
name
组来可靠地检查/取消检查
像这样的方法应该会奏效:
$('input[type="radio"]').on('click change', function () {//on click/change
$(this).prop('checked')//if checked
? $(this).prop('checked',false).data('waschecked', false)//uncheck
: $(this).prop('checked',true).data('waschecked', true)//else check
.siblings('input[name="'+$(this).prop('name')+'"]').data('waschecked', false);//make siblings false
});
保留.data('waschecked',…)
以防需要该值,但如果没有该值,它会像这样工作:
$('input[type="radio"]').on('click change', function () {//on click/change
$(this).prop('checked')//if checked
? $(this).prop('checked',false)//uncheck
: $(this).prop('checked',true);//else check
});
摆弄:如果希望用户能够选择一个或不选择,请使用复选框。选中一个复选框时禁用其他复选框,取消选中时启用它们。如果它们选择2@t编辑当收听单选按钮时,您需要收听
更改
事件,因为单击
在整个web浏览器范围内最多是不一致的。如果希望用户能够选择一个或无,请使用复选框。选中一个复选框时禁用其他复选框,取消选中时启用它们。如果它们选择2@t当您收听单选按钮时,您需要收听更改
事件,因为单击
在整个web浏览器范围内最多是不一致的。假设我有100组不同的单选按钮。我不确定是否要为每100个按钮创建一个新功能。假设我有100组不同的单选按钮。我不确定是否要为每100个按钮创建一个新函数。嘿,Jammy,这在JSFIDLE中非常有效。但由于某些原因,我的网站上的工作并不火爆。不知道为什么。这可能与我使用自定义图像作为我选择的单选按钮有关。我得去看看。谢谢你的帮助。嘿,杰米,这在JSFIDLE中非常有效。但由于某些原因,我的网站上的工作并不火爆。不知道为什么。这可能与我使用自定义图像作为我选择的单选按钮有关。我得去看看。谢谢你的帮助。这个很好用!非常感谢。这应该在大多数浏览器上使用吗?确实应该。如果你发现了一个不起作用的,那就告诉我,我会弄清楚的。这个效果非常好!非常感谢。这应该在大多数浏览器上使用吗?确实应该。如果你发现了一个不起作用的,那就告诉我,我会解决的。