Почему этот переключатель не проверяется? - PullRequest
0 голосов
/ 21 марта 2012

Я динамически генерирую некоторые переключатели, например:

 degree_info.innerHTML += '<label for="radio">Current Work:</label>\
        <input type="radio" name="work" value = "project" id="project"  onclick = "addMembers(1);" />Project\
        <input type="radio" name="work" value = "thesis" id="thesis" onclick = "addMembers(2);" />Thesis <br />';

Событие при нажатии срабатывает нормально, однако, когда я нажимаю переключатель, переключатель не получает значение checked на true, а вместо этого остается серым.

ОБНОВЛЕНИЕ:

возврат true из addMembers() не исправляет

UPDATE:

Опубликовано в JSFiddle: http://jsfiddle.net/ELjDg/2/

Также вот мой addMembers() метод

function addMembers(num){
    committee_members = document.getElementById("committee_members");
    if(committee_members){
        document.getElementById("degree_info").removeChild(committee_members);
    } 
    degree_info = document.getElementById("degree_info");
    degree_info.innerHTML += "<div id='committee_members'></div>";
    for(i = 0; i < num; i++){
        degree_info.lastChild.innerHTML += '<label for="member">Committee Member:</label>\
        <input type="text" name="member' + i + '" />';
    }
    return true;
} 

1 Ответ

1 голос
/ 21 марта 2012

Вам необходимо установить атрибут флажка checked на true, а не просто return true из функции. Добавьте в ваш addMembers(num) следующий код:

if(num == 1) document.getElementById("project").checked = true; else if(num == 2) document.getElementById("thesis").checked = true;

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...