2013-08-07 360 views
0

我想檢查一個收音機框是否使用JavaScript進行檢查,但我似乎無法正確地弄清楚。單選按鈕檢查

這是HTML代碼:

<input type="radio" name="status" id="employed_yes" value="yes"> 
<input type="radio" name="status" id="employed_no" value="no"> 

我已經使用jQuery如下嘗試:

$(document).ready(function() { 
    if($('#employed_yes').is(':checked')) { 
     // do something 
    } 
}); 

而且,我嘗試使用純JavaScript通過獲取元素並檢查其「檢查」屬性,但它沒有奏效。

我期待您的洞察!

謝謝!

+1

您正在對文檔進行檢查,但正如我在HTMl代碼中看到的那樣,當頁面加載時,您的輸入不會被檢查。如果您在HTML上設置了選中的屬性,那麼您的代碼將起作用,否則當輸入被點擊或更改時必須進行檢查 – Spokey

+0

代碼按預期工作,[請參閱此處](http://jsfiddle.net/6pkBH/2 /) – billyonecan

回答

2

使用平變化

$('input[type="radio"]').on('change',function(){ 
     if($('#employed_yes').is(':checked')) { 
      alert("yes"); 
     } 
    }); 

DEMO

+0

這就是我正在尋找的!非常感謝! –

0

嘗試查看使用單選按鈕的名稱,如

if($('input[name="status"]').val() != "") { 
    // do something 
} else { 
    alert("Select an Status"); 
} 
0

,因爲在頁面加載時該複選框的默認狀態您的解決方案不起作用沒有選中,這是jQuery代碼運行時。

你需要監聽的複選框的更改事件,像這樣:

$(document).ready(function() { 
    $("#employed_yes").change(function() { 
     if(this.checked) { 
      document.write("checked"); 
     } 
    }); 
}); 

演示:http://jsfiddle.net/7CduY/

0

試試這個。如果任何單選按鈕被選中,這將在文檔準備好時提醒Hi。如果你想檢查特定的事件,那麼你可以綁定任何事件來檢查相同的事件。

$(document).ready(function() { 
    if($('input[type=radio]').is(':checked')) { 
     alert("Hi"); 
    } 
}); 
0

老兄,我想你想,單選按鈕是否被選中或沒有,這是我從你的問題理解

如果所以這裏是

$(document).ready(function() { 
    $('input[type="radio"]').on('change',function(){ 
     if($('[name=status]:checked').length) { 
      alert("checked"); 
     } 
    }); 
}); 

FIDDLE DEMO

0

純JS :

<input type = "button" value = "What?" name = "wic" onclick = "whatischecked(this.name);" /> 

Event onClick:

function whatischecked(name) { 
     var 
      emp = document.getElementById("employed_yes").checked 
      nonemp = document.getElementById("employed_no").checked 

     if (emp) { 
      alert("Employed"); 
     }; 

     if (nonemp) { 
       alert("Non-Employed"); 
      };   

     if ((emp == false) & (nonemp == false)) 
     { 
      alert("nothing checked") 
     }; 
    }