2013-10-15 2 views
0

Я пытаюсь получить группу переключателей в javascript, чтобы их сбросить, однако следующий код делает r.length = 0. Кто-нибудь знает, могу ли я получить доступ к переключателям с getElementByName, а если нет, то каков правильный способ использования главной страницы в asp.net?Почему javascript не получит имя?

JavaScript

 function clearRadios(groupName) { 

     var r = document.getElementsByName(groupName); 
     for (var i = 0; i < r.length; i++) { 
       r[i].checked = false; 
      } 
     } 

HTML

<input type="radio" runat="server" name="ach_options" id="option1" /> 

<input type="radio" runat="server" name="ach_options" id="option2" /> 

<input type="radio" runat="server" name="ach_options" id="option3" /> 

Это, как я называю яваскрипта функцию:

clearRadios("options"); 

FIREFOX консоли enter image description here

+2

Точный код работает здесь: http://jsfiddle.net/tGG8J/ - Проверьте свою консоль на наличие ошибок. – tymeJV

+0

То же самое: http://jsfiddle.net/g8Np4/ – melancia

+0

С каким браузером вы работаете? – j08691

ответ

2

Это может быть по разным причинам, но я хотел бы предложить вам завернуть переключателей в DIV и использовать getElementsByTagName('input'):

HTML:

<div id="myDiv"> 
    <input type="radio" runat="server" name="ach_options" id="option1" /> 
    <input type="radio" runat="server" name="ach_options" id="option2" /> 
    <input type="radio" runat="server" name="ach_options" id="option3" /> 
</div> 

Javascript:

function clearRadios(wrapperid) { 
    var wrapper = document.getElementById(wrapperId); 

    //Using getElementsByTagName() 
    var r = wrapper.getElementsByTagName('input'); 

    for (var i = 0; i < r.length; i++) { 
      r[i].checked = false; 
    } 
} 

Функциональный вызов:

clearRadios('myDiv'); 
Смежные вопросы