Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Выбрать checkbox, который создал чуть ранее (https://javascript.ru/forum/css-html-internet-explorer/11791-vybrat-checkbox-kotoryjj-sozdal-chut-ranee.html)

балерун 13.09.2010 21:07

Выбрать checkbox, который создал чуть ранее
 
Привет, создаю динамически список чекбоксов

var input;
for (var prop in allGroups) {
    input = document.createElement('input');
    input.type = 'checkbox';
    input.checked = true;
    // Некоторые детали опущены
   parent.appendChild(input);
}


Опера, ff выделяют чекбоксы, а вот ие6 ни в какую! Что не так? Может надо каким-то другим способом это делать? Хотя какой уж тут другой способ может быть...
И еще, я так же динамически создаю список labelов, которые привязываются с помощью for к соответствующим чекбоксам. В опере и ff, если нажать, на label, то нужный чекбокс отмечается, а в ие6 такой щелчок игнорируется... проклятый ие.

Sweet 13.09.2010 21:28

А ты сначала appendChild делай, а потом .checked = true и все будет ок:)
<body><script>
var input = document.createElement('input')
input.type = 'checkbox'
document.body.appendChild(input)
input.checked = true
</script></body>

Sweet 13.09.2010 21:48

Есть такая тема:
Цитата:

В IE также является исключением ключевое атрибут for, для него используется свойство forHtml.
Соответственно, лучше использовать
.setAttribute("for", "inputID")

Но я бы сделал так:
<body><script>
var input = document.createElement('input'),
    label = document.createElement('label')
input.type = 'checkbox'
label.innerHTML = 'checkbox'
document.body.appendChild(label)
label.appendChild(input)
input.checked = true
</script></body>

Kolyaj 14.09.2010 11:12

Цитата:

Сообщение от Sweet
Соответственно, лучше использовать
.setAttribute("for", "inputID")

Для IE нет разницы, что атрибут, что свойство. Так что не прокатит.

Sweet 14.09.2010 11:24

Цитата:

Сообщение от Kolyaj
Для IE нет разницы, что атрибут, что свойство. Так что не прокатит.

Я вообще избегаю этого гемороя:)


Часовой пояс GMT +3, время: 16:40.