2011-03-21 97 views
1

我找不出這個代碼有什麼問題。它應該檢查一個複選框是否被選中,如果是則檢查是否爲「檢查」,如果不是則檢查爲「未檢查」。但是,它每次都會返回「已檢查」結果。jquery如果複選框被選中,警告與結果不起作用

$(document).ready(function() { 
     $('#midmenusubmit').click(function() { 
      if ($('input:c2:checked').val() != undefined) { 
       alert("checked"); 
       //checked 
      } 
      else { 
       alert("not checked"); 
       //not checked 
      } 

     }); 
    }); 


<input type="checkbox" id="c2" name="c2" ></input> 


<img src="image.png" id="midmenusubmit" /> 
+0

你的選擇器是錯的,它應該是'#c2'而不是':c2'。 – BoltClock 2011-03-21 20:27:26

回答

5

這裏是檢查您的複選框的狀態更簡潔的方式:

if ($('input#c2').is(':checked')) { 
2

最好使用

$('input:c2:checked').length > 0 

$('input:c2').is(':checked') // returns true or false 

的.VAL()正在尋找輸入元素的值,並且從來沒有找到他它總是未定義的

+0

幾乎得到它 - 錯過了這個重要的觀點:輸入:C2不是一個有效的值。應該像BoltClock指出的那樣。 .is()的好處然而。 – Joshua 2011-03-21 20:30:57

相關問題