Выпадающие меню

-=KPOT=-

Новичок
Выпадающие меню

есть 2 выпадающих меню
1-ое
PHP:
<select name="categor" id="categor">
        <option value="0">
        <option value="all" onClick="rest()">(изменение всех цен)
        <option value="no"onClick="rest()"> ------------------------------
.........
</select>
2-ое
PHP:
<select name="categor2" id="categor2">
        <option value="0">
        <option value="f1" onClick="rest1()">firm1
        <option value="f1"onClick="rest1()">firm2
.........
</select>
Задача:
1- если в первом меню выбираем строку со значением "no" то она не должна выбираться т.е. сбрасываться на 1 эл-тсписка (который <option value="0">)
2- если выбираем пункт любого меню проверяем значение в другом меню если оно отлично от пустого (<option value="0">) то сбрасываем его в пустое

Написал вот такой скрипт:
PHP:
function rest()
{
	if (document.form1.categor.value=='no') document.form1.categor.value='0';
	if (document.form1.categor2.value!='0' & document.form1.categor.value!='0')
	document.form1.categor2.value='0'; 
}
function rest1()
{
if (document.form1.categor.value!='0') document.form1.categor.value='0';
}
В OPERA работает нормуль а в IE не хочет в чем дело?
 

HEm

Сетевой бобер
PHP:
<form name="form1" id="form1">
<select name="categor" id="categor" onChange="rest()"> 
        <option value="0"> 
        <option value="all">(изменение всех цен) 
        <option value="no">no</option>
</select>

2-ое

<select name="categor2" id="categor2" onChange="rest1()"> 
        <option value="0"> 
        <option value="f1">firm1 
        <option value="f1">firm2 
......... 
</select>
</form>
<script>
function rest() 
{ 
    if (document.form1.categor.value=='no') document.form1.categor.value='0'; 
    if (document.form1.categor2.value!='0' & document.form1.categor.value!='0') 
    document.form1.categor2.value='0'; 
} 
function rest1() 
{ 
if (document.form1.categor.value!='0') document.form1.categor.value='0'; 
}
</script>
вот это у меня заработало и в О7 и в ИЕ

небольшая оптимизация кода: а зачем проверять на нуль перед установкой в нуль?
 

HEm

Сетевой бобер
Если угодно:
PHP:
<form name="form1" id="form1"> 
<select name="categor" id="categor" onChange="rest()"> 
        <option value="0"></option>
        <option value="all">(изменение всех цен)</option>
        <option value="no">------------------------------</option>
<!-- тут я просто написал более валидно, если угодно -->
.........
</select> 
<select name="categor2" id="categor2" onChange="rest1()"> 
        <option value="0"></option>
        <option value="f1">firm1</option>
        <option value="f1">firm2</option>
......... 
</select> 
</form> 
<script> 
function rest() 
{ 
    if (document.form1.categor.value=='no') document.form1.categor.value='0'; 
    if (document.form1.categor2.value!='0' & document.form1.categor.value!='0') 
    document.form1.categor2.value='0'; 
} 
function rest1() 
{ 
if (document.form1.categor.value!='0') document.form1.categor.value='0'; 
} 
</script>
в IE6 работает (при клике на опцию с "----------------" эта опция вываливается на свою первую позицию, при выборе в любом селекте, во втором происходит смена значения на 0)
 

-=KPOT=-

Новичок
Спасибо помогло не заметил onChange
еще вопрос при выборе некоторого элемента списка
например
<option value="f1">firm1</option>
могу я как нибудь получить firm1?
 

MD

Guest
fn = имя формы
sn = имя селекта
document.fn.sn.options(document.fn.sn.selectedIndex).text;
 
Сверху