Выберите переключатель динамически - PullRequest
1 голос
/ 02 декабря 2011

Мне нужно выбрать радио-кнопку динамически.

i) Я создал несколько радио-кнопок динамически, то есть в функции, использующей:

function funcName()
{
    Something.innerHTML = '<input type = "radio" name = "rName" id = "1" />' + '<input   type = "radio" name = "rName" id = "2" />' + '<input type = "radio" name = "rName" id = "3" />';

}

ii) Мне нужно выбратьпереключатель динамически, в другой функции:

function funcNAme(someVar)
{
    document.getElementById(someVar).checked = true;
}

Но это не работает, т.е. переключатель не выбирается.Однако «отключен» работает нормально.Также:

alert(someVar); 

возвращает соответствующее желаемое значение.

Ответы [ 3 ]

4 голосов
/ 02 декабря 2011

Синтаксис следующий:

element.checked = true;

Так что вам нужно использовать

document.getElementById(someVar).checked = true;

Смотрите здесь -> HTMLInputElement

Рабочий пример -> http://jsfiddle.net/p5yca/

И, пожалуйста, не используйте цифры для идентификаторов элементов -> http://www.w3.org/TR/html401/types.html#type-name

2 голосов
/ 02 декабря 2011

Кажется, работает нормально:

function checkRadio(id) {
    document.getElementById(id).checked = true;
}

function createRadios()
{
    document.getElementById('container').innerHTML = '<input type = "radio" name = "rName" id = "1" />' + '<input   type = "radio" name = "rName" id = "2" />' + '<input type = "radio" name = "rName" id = "3" />';
}

createRadios();
checkRadio("2");

Пример - http://jsfiddle.net/infernalbadger/LHyQT/2/

1 голос
/ 02 декабря 2011

Вы устанавливаете атрибут checked для атрибута innerHTML, а не для самого элемента DOM;это должно сделать трюк:

document.getElementById("id").checked = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...