Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   ИЕ6 дёргатся при добавлении option в select (https://forum.antichat.xyz/showthread.php?t=120134)

Дикс 11.05.2009 15:13

ИЕ6 дёргатся при добавлении option в select
 
добавляю option в select через document.createElement и appendChild.

событие висит на onclick тега select.

в ФФ, опере всё норм. в ИЕ6 - список открывается, в него добавляются элементы и он тут же закрывается. Всё происходит одним рывком. После этого приходится открывать его снова.

Что можно сделать с этим?

NuR 11.05.2009 15:17

код можно взглянуть?
в ие нету у селекта такого события как я помню, нада на onChange делать

Дикс 11.05.2009 15:35

NuR
в ИЕ всё есть, тока дёргается. onchange вызывается когда я открыл список, выбрал элемент и щёлкнул по нему.

изначально всё выглядит вот так:
Цитата:

<select onclick="javascript:subject_list(this, 1, 'client');">
<option>Выбрать...</option>
</select>
Цитата:

function subject_list(obj, num, name) {

if(obj.options.length > 1)
return false; // чтобы список создавался тока при первом открытии

// создание опции - вынесено в функцию
var opt = document.createElement('option');
opt.appendChild(document.createTextNode('text'));
obj.setAttribute('value', value);

to.appendChild(opt);

// ну и всё на этом. помимо подёргивания в ИЕ есть ещё одна проблема:

document.body.setAttribute("class", "attribute-test");

if(document.body.className == "attribute-test")
obj.options[lastElement].onclick = 'alert(1)';
else
obj.options[lastElement].onselect = 'alert(2)';

// вешаем эвент на последнюю опцию. работает в Опере, не работает в ФФ и ИЕ
}


Время: 23:06