Вход

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


балерун
13.09.2010, 21:07
Привет, создаю динамически список чекбоксов

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
Соответственно, лучше использовать
.setAttribute("for", "inputID")
Для IE нет разницы, что атрибут, что свойство. Так что не прокатит.

Sweet
14.09.2010, 11:24
Для IE нет разницы, что атрибут, что свойство. Так что не прокатит.
Я вообще избегаю этого гемороя:)