PDA

Просмотр полной версии : ИЕ6 дёргатся при добавлении option в select


Дикс
11.05.2009, 15:13
добавляю 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)';

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