2013-03-20 79 views
31

我有這樣的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

回答

44

試試這個

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

69

首先,只有一個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

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

事情是這樣的:

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

使用jQuery是()函數應該工作。

+0

檢查收音機和複選框 – AlienWebguy 2013-03-20 17:30:13

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