2011-07-08 15 views
0

我想驗證包含幾個不同的單選按鈕的窗體。窗體中的幾個單選按鈕具有相同的類名'video_type'。與多個無線電選擇jQuery問題

在jQuery驗證腳本中,表單提交後,我想檢查是否有任何類名爲'video_type'的單選按鈕被選中。如果用戶選擇了至少一個單選按鈕名稱爲'video_type'且值爲1,它應該返回true。否則,它應該返回false。

目前我使用的是這樣的:

HTML:

<input type="radio" name="video_option_1" class="video_option" value="1">Yes 
<input type="radio" name="video_option_1" class="video_option" value="0">No 

<input type="radio" name="video_option_2" class="video_option" value="1">Yes 
<input type="radio" name="video_option_2" class="video_option" value="0">No 

的jQuery:

$("#completeOrderForm").submit(function(){ 
if($(".video_type").val() == 0){ 
    $("#showerrors").show().html("Please select a video type."); 
    return false; 
} 
}); 

但我意識到這是不正確。我需要做什麼?

回答

1

這應該工作:

if ($(".video_option[value='1']:checked").length == 0) { 
    $("#showerrors").show().html("Please select a video type."); 
    return false; 
} 

基本上你選擇的每一個元素與類.video_option有值1([value='1'])和檢查(使用:checked選擇)。然後計算所選元素的數量,如果結果爲0未檢查無線電。

小提琴:http://jsfiddle.net/bjorn/UwufF/6/

編輯 請您談一下單選按鈕與類名video_type但代碼顯示video_option,我使得例如,當去的代碼。

+0

更新的例子,錯過了關於值爲1的要求。 –

+0

是的,抱歉 - 我忘了更改我的代碼的名稱屬性。您的解決方案完美運作謝謝! – hohner