2012-02-27 105 views
4

如何使用jQuery來確定是否選中複選框或單選按鈕?檢查是否選擇了任何收音機或複選框

這裏是我的HTML:

<form> 
<input type="radio" name="sex" value="male" /> Male<br /> 
<input type="radio" name="sex" value="female" /> Female 
</form> 

<span id="check1">check</span> 

<form> 
<input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br /> 
<input type="checkbox" name="vehicle" value="Car" /> I have a car 
</form> 

<span id="check2">check</span> 

下面是一些僞的JavaScript:

$("#check1").click(function(){ 
    if(any radio is selected){ 
     alert("Please select one radio"); 
    } 
}) 

$("#check2").click(function(){ 
    if(any checkbox is selected){ 
     alert("Please select minimum one checkbox"); 
    } 
}) 

有可能在jQuery的?

在jsfiddle上的現場示例:http://jsfiddle.net/BghzK/ 感謝您的幫助!

+0

爲什麼-1?請我回答 – 2012-02-27 03:30:53

+0

沒關係的downvote。這是一個很好的問題,包括代碼和小提琴。選民可能認爲你應該能夠通過搜索StackOverflow找到答案。然而,我的經驗是,任何願意花時間張貼小提琴和代碼的人都已經嘗試過搜索。 – mrtsherman 2012-02-27 03:33:57

回答

6

您可以在選擇器表達式中使用:checked假選擇器。將其與.length結合起來,查看已返回的數量。在這種情況下,我們得到所有選定的單選按鈕,看看長度是否爲零,表示沒有被選中。

http://jsfiddle.net/mrtsherman/BghzK/2/

$("#check1").click(function(){ 
    if($('input[type=radio]:checked').length == 0){ 
     alert("Please select one radio"); 
    } 
}) 

$("#check2").click(function(){ 
    if($('input[type=checkbox]:checked').length == 0){ 
     alert("Please select minimum one checkbox"); 
    } 
}) 

​ 
1
var rdo = $('input[name="group"]:checked'); 
var boxes = $('input[type="checkbox"]:checked'); 

if(rdo.length == 0) 
    alert("Please select one radio"); 

if(boxes.length == 0) 
    alert("Please select minimum one checkbox"); 
2

使用jquery Validation插件自動完成。對於單選按鈕,您只需在表單中設置元素required

4
if(!$(':radio:checked').length){ 
    alert('Please select one radio'); 
} 
+2

在您的提醒中,您從雙引號開始,以單..結束..它會中斷 – 2012-02-27 03:34:41

+0

這是一個很好的答案。比我更好,因爲它更具可讀性。 http://jsfiddle.net/mrtsherman/BghzK/3/ – mrtsherman 2012-02-27 03:40:11

3

您將需要使用的( 「:選中」)與選擇。示例代碼如下:

$(function() { 
      $("#check1").click(function(){ 
       if(!($("input[name='sex']").is(":checked"))){ 
        alert("Please select one radio"); 
       } 
      }) 

     $("#check2").click(function(){ 
      if(!($("input[name='vehicle']").is(":checked"))){ 
       alert("Please select minimum one checkbox"); 

      } 
     }) 

     }); 
1

你可以嘗試這樣這個簡單的

var chkvalue = $('input[name="sex"]:checked').val(); 
    if(chkvalue =="") 
    { 
    alert("Please checked the radio button"); 
    return; 
    } 
相關問題