找出单选按钮是否检查与JQuery?

我可以将单选按钮设置为checked fine,但我想做的是设置一种“侦听器”,当某个单选按钮被选中时激活。

# EYZ0

$("#element").click(function()
{
$('#radio_button').attr("checked", "checked");
});

它添加了一个checked属性,一切都很好,但我怎么去 添加警报。例如,选中单选按钮时弹出 没有点击功能的帮助?< / p >

1121051 次浏览
$('#element').click(function() {
if($('#radio_button').is(':checked')) { alert("it's checked"); }
});

你必须绑定复选框的单击事件,因为更改事件在IE中不起作用。

$('#radio_button').click(function(){
// if ($(this).is(':checked')) alert('is checked');
alert('check-checky-check was changed');
});

现在,当你以编程方式改变状态时,你也必须触发这个事件:

$('#radio_button').attr("checked", "checked");
$('#radio_button').click();

如果你有一组单选按钮共享相同的name属性,并且在提交或某些事件时,你想检查这些单选按钮中的一个是否被选中,你可以简单地通过以下代码做到这一点:

$(document).ready(function(){
$('#submit_button').click(function() {
if (!$("input[name='name']:checked").val()) {
alert('Nothing is checked!');
return false;
}
else {
alert('One of the radio buttons is checked!');
}
});
});

Source .

jQuery API Ref

如果你不想要点击功能 使用Jquery改变函数

$('#radio_button :checked').live('change',function(){
alert('Something is checked.');
});
这应该是你正在寻找的答案。 如果你使用的Jquery版本高于1.9.1

. Try use on as live function已被弃用

由于Parag的解决方案为我抛出了一个错误,下面是我的解决方案(结合David Hedlund和Parag的解决方案):

if (!$("input[name='name']").is(':checked')) {
alert('Nothing is checked!');
}
else {
alert('One of the radio buttons is checked!');
}

这对我来说很有效!

... 谢谢大家……我所需要的是选中单选按钮的“值”,其中每个单选按钮在集合中有不同的id…

 var user_cat = $("input[name='user_cat']:checked").val();

对我有用……

试试这个

    if($('input[name="radiobutton"]:checked').length == 0) {
alert("Radio buttons are not checked");
}

//检查类

if($("input:radio[class='className']").is(":checked")) {
//write your code
}

//通过name检查

if($("input:radio[name='Name']").is(":checked")) {
//write your code
}

//检查数据

if($("input:radio[data-name='value']").is(":checked")) {
//write your code
}

另一种方法是使用prop (jQuery >= 1.6):

$("input[type=radio]").click(function () {
if($(this).prop("checked")) { alert("checked!"); }
});

试试这个:

alert($('#radiobutton')[0].checked)

动态生成单选按钮检查单选获取值

$("input:radio[name=radiobuttonname:checked").val();

关于更改动态单选按钮

$('input[name^="radioname"]').change(function () {if (this.value == 2) { }else{}});

工作与所有类型的单选按钮和浏览器

if($('#radio_button_id')[0].checked) {
alert("radiobutton checked")
}
else{
alert("not checked");
}

Working Jsfiddle这里 .

$("#radio_1").prop("checked", true);

对于1.6之前的jQuery版本,请使用:

$("#radio_1").attr('checked', 'checked');

解决方案很简单,因为当某个单选按钮被选中时,你只需要“监听器”。这样做:

if($('#yourRadioButtonId').is(':checked')){
// Do your listener's stuff here.
}

$('.radio-button-class-name').is('checked')不适合我,但下面的代码运行良好:

    if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
// radio button is checked
}
jQuery仍然很受欢迎,但如果你想没有依赖,请参阅下面。 短,清除函数来确定ES-2015上单选按钮是否被选中:

function getValueFromRadioButton( name ){
return [...document.getElementsByName(name)]
.reduce( (rez, btn) => (btn.checked ? btn.value : rez), null)
}


console.log( getValueFromRadioButton('payment') );
<div>
<input type="radio" name="payment" value="offline">
<input type="radio" name="payment" value="online">
<input type="radio" name="payment" value="part" checked>
<input type="radio" name="payment" value="free">
</div>

这将工作在所有版本的jquery。

//-- Check if there's no checked radio button
if ($('#radio_button').is(':checked') === false ) {
//-- if none, Do something here
}

当某个单选按钮被选中时,激活某个功能。

// get it from your form or parent id
if ($('#your_form').find('[name="radio_name"]').is(':checked') === false ) {
$('#your_form').find('[name="radio_name"]').filter('[value=' + checked_value + ']').prop('checked', true);
}

html

$('document').ready(function() {
var checked_value = 'checked';
if($("#your_form").find('[name="radio_name"]').is(":checked") === false) {
$("#your_form")
.find('[name="radio_name"]')
.filter("[value=" + checked_value + "]")
.prop("checked", true);
}
}
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" id="your_form">
<input id="user" name="radio_name" type="radio" value="checked">
<label for="user">user</label>
<input id="admin" name="radio_name" type="radio" value="not_this_one">
<label for="admin">Admin</label>
</form>

< >强终极解决方案 使用onChang方法检测单选按钮是否已选中 JQUERY的在3.6 < / p >

         $('input[type=radio][name=YourRadioName]').change(()=>{
alert("Hello"); });

获取所单击单选按钮的值

 var radioval=$('input[type=radio][name=YourRadioName]:checked').val();