2014-01-07 50 views
0

我目前正在處理一個表單,它必須處理客戶端填寫的數據。它有幾個廣播組,我想在它改變時獲得它的價值。獲取多個單選按鈕組的值javascript

<input type="radio" name="domain" value="no"> 
<input type="radio" name="domain" value="yes"> 

<input type="radio" name="hosting" value="no"> 
<input type="radio" name="hosting" value="yes"> 

我在某處找到了一個像它這樣的函數,但它並不按照我想要的方式工作。

function getSelectedValueFor(name) { 
     alert(document.getElementsByTagName(name).length); 
     for (var i = 0; i < 
      document.getElementsByTagName(name).length; i++) { 
      var input = document.getElementsByTagName(name)[i]; 
       if (input.type == "radio" && input.checked) { 
        return input.value; 
       } 
     } 
     return null; 
} 

基本上,它應該像這樣工作,併爲「getSelectedValueFor()」應該是可重複使用的工作:

$('input[name="hosting"]').change(function(){ 
    var x = getSelectedValueFor("hosting"); 
    console.log(x + " test"); 
    if(x == "yes") { $('#hosting').slideDown(); } 
    else if(x == "yes") { $('#hosting').slideUp(); } 
    return; 
}); 

是否有任何人誰可以幫我嗎?所有的幫助表示讚賞。

+0

你可以使用jQuery選擇價值?更少的代碼和更多的瀏覽器兼容性。 - 我可以直接給你寫一個例子。 – Steini

+0

使用無法在'getElementsByTagName'中將'hosting'作爲參數。它可以是'input',這就是你的代碼無法工作的原因。 – KunJ

回答

2

你可以簡單地得到利用這條線

var x = $('input[name="hosting"]:checked').val() 
+0

謝謝!這是我正在尋找的。但實際上比預期容易。 – KarelSchapie