2011-11-30 95 views
1

檢查所有單選按鈕我有一個看起來像這樣幾個輸入元素:選擇其與原型

<input type="radio" checked="checked" value="1" name="handle[123]" /> 
<input type="radio" checked="checked" value="2" name="handle[456]" /> 

name屬性內的數字是一個對象ID,我需要。現在我想做的是:

  1. 抓取所有輸入端的類型=「無線電」,並與原型
  2. 把所有的IDS和值的關聯數組

檢查..所以得到的陣列看起來像這樣:

array{ 1 => 123, 2 => 456 } 

任何想法?

回答

1

這裏就是我想出了:

var results = []; 
document.body.select('input[type=radio]:checked').each(function (element) { 
    var object = {}; 
    object[element.value] = element.name.match(/\d+/)[0]; 
    results.push(object); 
}); 

new Ajax.Request('/some_url', { 
    method: 'post', 
    parameters: results 
}); 

Demo

1

爲了獲得給定的表格ID檢查的單選按鈕,以及無線電組的名稱:

function RF(el, radioGroup) { 
    if($(el).type && $(el).type.toLowerCase() == 'radio') { 
     var radioGroup = $(el).name; 
     var el = $(el).form; 
    } else if ($(el).tagName.toLowerCase() != 'form') { 
     return false; 
    } 

    var checked = $(el).getInputs('radio', radioGroup).find(
     function(re) {return re.checked;} 
    ); 
    return (checked) ? $F(checked) : null; 
} 

var value = RF('form_id', 'radio_grp_name'); 

希望它可以幫助

0
$$('input:checked[type=radio]').each(function (ele) { 
    output[ele.name.match(/\d+/)[0]] = ele.value; 
}); 

這將使用原型