2010-06-17 144 views
2

我想檢查是否有任何單選按鈕被選中,如果沒有選擇打印某些警報消息。Jquery單選按鈕檢查

的HTML代碼是:

<form action="" id="form" name="form" method="post"> 
<input type="radio" id="form_rd" name="form_rd" value="1"> 1 
<input type="radio" id="form_rd" name="form_rd" value="2"> 2 
<input type="radio" id="form_rd" name="form_rd" value="3"> 3 
<button type="submit">send</button> 
</form> 

Jquery的,我使用的檢查:

$("form#form").submit(function() { 
if (!$("#form_rd").attr('checked')) {alert("not checked");return false;} 
}) 

這個jQuery代碼不工作。這個單選按鈕檢查有什麼更好的解決方案?

+1

首先將id =「form_rd」更改爲class =「form_rd」! – antpaw 2010-06-17 18:07:30

+0

同意。你在搞亂瀏覽器的思想。 – MvanGeest 2010-06-17 18:09:06

回答

5

我不能強調ID 必須是唯一的!因此,請將您的id="form_rd"更改爲(例如)class="form_rd"。然而,單獨留下name是因爲如果您更改了接收端,也不會喜歡該請求。

嘗試

$("form#form").submit(function() { 
    if ($("#form :radio:checked").length == 0) { 
     alert("not checked"); 
     return false; 
    } 
}); 

此,如果你有多個組將失敗。你需要一個解決方案嗎?

+0

@MvanGeest - 謝謝。我嘗試過這樣做,但即使單選按鈕被選中,仍然收到警告消息「未檢查」! – Sergio 2010-06-17 18:21:35

+0

好吧,你的表單ID是'form',所以我在示例中糾正了這個問題。再試一次。如果它仍然不起作用,請向我們展示更多HTML。 (或者你有多種形式嗎?全部都帶有ID形式嗎?那就是問題了。) – MvanGeest 2010-06-17 18:26:47

+0

@MvanGeest - 以下是示例鏈接: http://jsfiddle.net/4kEqx/ 我沒有多種形式。只有一個。 – Sergio 2010-06-17 18:30:34