2009-02-18 4 views
1

Скажем, у меня есть функция, подобная этой:Как передать имя HTML кнопки группы к яваскрипту функции

function getGroupValue(group) 
    { 
    for (var i=0; i < group.length; i++) 
    { 
     if (group[i].checked) 
     { 
      return group[i].value; 
     } 
    } 
    } 

, что я могу назвать что-то вроде getGroupValue(document.forms[0].myGroup)

Как преобразовать это просто передавая имя группы переключателей html, например getGroupValue('myGroupName')?

ответ

1

Это должно работать:

function getGroupValue(group) 
{ 
var g = document.getElementsByName(group); 

for (var i=0; i < g.length; i++) 
{ 
    if (g[i].checked) 
    { 
     return g[i].value; 
    } 
} 
} 
0

Легче дать всем переключателям общее имя класса «группа», а также использовать селектор CSS (jQuery, Prototype), а затем просмотреть полученные результаты и получить имя для каждого.

0

Вы можете сделать document.getElementsByName ([GroupName]) и получить коллекцию таким образом. Если существует несколько групп, вы можете сохранить имя группы в переменной и передать ее так же, как и сейчас.

1

Я предполагаю, что есть только одна форма на странице, учитывая то, как вы изначально вызов функции. Если это нереальным сделать, то вы можете сделать следующее:

function getGroupValue(groupName) 
{ 
    var group = document.forms[0][groupName]; 
    for (var i = 0, n = group.length; i < n; i ++) 
    { 
    if (group[i].checked) 
    { 
     return group[i].value; 
    } 
    } 
} 

Javascript позволяет указать атрибуты/дети формы с помощью скобок, так что вы можете просто использовать Groupname вы прошли как ребенок самой формы.

Смежные вопросы