检查一个单选按钮被选中的jQuery

问题描述:

我有这样的HTML:检查一个单选按钮被选中的jQuery

<input type="radio" name="test" id="test" value="1"><br> 
<input type="radio" name="test" id="test" value="2"><br> 
<input type="radio" name="test" id="test" value="3"><br> 

<input type="button" onclick="CreateJobDo"> 

页面加载时,他们都将被检查。我想用jQuery来检查按下按钮时是否选中了其中一​​个单选按钮。

我有这样的:

function CreateJobDo(){ 
    if ($("input[@name=test]:checked").val() == 'undefined') { 

     // go on with script 

    } else { 

     // NOTHING IS CHECKED 
    } 
} 

但是,这是行不通的。如何让它工作?

+9

标识**必须**是唯一的。 – j08691 2013-03-20 17:28:27

+0

@LightnessRacesinOrbit他想检查是否有任何收音机框被选中,目前他的测试语句不起作用。 – Jlange 2013-03-20 17:33:07

+0

好吧,也许你有一个老版本的问题,因为你的报价不在其中? “当页面加载时,它们都不会被检查。我使用Jquery检查是否有一个单选按钮被选中?” - 假设他“想要使用JQuery”。 – Jlange 2013-03-20 17:48:09

试试这个

if($('input:radio:checked').length > 0){ 
// go on with script 
}else{ 
    // NOTHING IS CHECKED 
} 
+3

imo您可以安全地删除'> 0'部分导致正整数_are_真 – T30 2016-05-16 08:17:48

+0

它的工作原理,但它不像'$(“input:radio”)那样读取。 ( ':检查')'。 – NateS 2018-01-10 11:12:36

首先,只有一个id="test"

其次,试试这个:

if ($('[name="test"]').is(':checked')) 
+1

不是名称=“测试”的错字?我相信正确的答案是($('[id =“test”]')。is(':checked')) – Entrodus 2015-06-30 08:41:15

+2

不要过时。你永远不会做'$('[id =“test”]')'你会做'$('#test')' – AlienWebguy 2015-07-03 07:16:52

+0

我有同样的情况,这个答案是帮助我的。我给了我的投票。谢谢。 – 2016-12-16 19:00:02

$('#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!'); 
    } 
    }); 

事情是这样的:

$("input[name=test]").is(":checked"); 

使用jQuery是()函数应该工作。

+0

检查收音机和复选框 – AlienWebguy 2013-03-20 17:30:13

if($("input:radio[name=test]").is(":checked")){ 
    //Code to append goes here 
}