Вопрос по js + опера

Softex
На сайте с 16.09.2006
Offline
15
492

Есть функция js, которая выбирает option для select.


function select(object,value)
{
for(var i=0;i<object.options.length;++i)
{
if(object.options.value==value)
{
object.selectedIndex=i;
break;
}
}
return;
}

При вызове первый раз во всех браузерах работает нормально, при последующих вызовах (без перезагрузки страницы) везде работает, кроме оперы - где возвращается результат первого вызова. Использование вместо object.selectedIndex -> object.options.selected=true - ничего не дало. Примечательно, что если в функцию вставить alert(''), то все нормально. Кто-нибудь сталкивался с подобным явлением, как победить баг?

AM
На сайте с 04.11.2003
Offline
57
#1

Вы пытаетесь переопределить метод select(), браузер этого сделать не позволяет. Переименуйте функцию - все заработает.

Softex
На сайте с 16.09.2006
Offline
15
#2
Arty.M:
Вы пытаетесь переопределить метод select(), браузер этого сделать не позволяет. Переименуйте функцию - все заработает.

Неа, не помогло. Странно, что везде работает, а в опере только при первом вызове.

AM
На сайте с 04.11.2003
Offline
57
#3

Opera 9.02, специально установил.

Работает и selectedIndex, и options.selected=true

Softex
На сайте с 16.09.2006
Offline
15
#4
Arty.M:
Opera 9.02, специально установил.
Работает и selectedIndex, и options.selected=true

Спасибо за желание помочь. Да, работает. Но только при первом вызове функции, а при повторном (без перезагрузки страницы), с тем же object, но другим value?

AM
На сайте с 04.11.2003
Offline
57
#5


<html>
<head>
<script>
function selectVal(object,value)
{
for(var i=0;i<object.options.length;i++)
{

if(object.options.value==value)
{
object.options.selected=true;
break;
}
}
return;
}
</script>
<body>
<select id="hdds">
<option value="1">selected value 1</option>
<option value="2">selected value 2</option>
<option value="3">selected value 3</option>
<option value="4">selected value 4</option>
</select><br />
<input type="button" onClick="selectVal(document.getElementById('hdds'), '1')" value="ok 1" /><br />
<input type="button" onClick="selectVal(document.getElementById('hdds'), '2')" value="ok 2" /><br />
<input type="button" onClick="selectVal(document.getElementById('hdds'), '3')" value="ok 3" /><br />
<input type="button" onClick="selectVal(document.getElementById('hdds'), '4')" value="ok 4" /><br />

</body>
</html>

100% работающий

Softex
На сайте с 16.09.2006
Offline
15
#6
Arty.M:
100% работающий

Да, но при манипуляции с показом и скрытием дивов (см: [ATTACH]2540[/ATTACH]), это функция работает не совсем корректно.

txt select.txt

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий