Показать сообщение отдельно
  #1 (permalink)  
Старый 23.12.2015, 20:12
Новичок на форуме
Отправить личное сообщение для top89 Посмотреть профиль Найти все сообщения от top89
 
Регистрация: 16.08.2014
Сообщений: 2

Глобальные переменные при выборе в Select / Option не сохраняются
Добрый день! Может, здесь кто-нибудь подскажет
Есть два поля Select:

<script src="00.js" type="text/javascript"></script>
    <select size="4" onclick="SelectElem(this.value)">
        <option value="10">elem 10</option>
        <option value="20">elem 20</option>
        <option value="30">elem 30</option>
    </select>
    <select size="4" onclick="SelectOper(this.value)">
        <option value="1010">oper 1010</option>
        <option value="1020">oper 1020</option>
        <option value="1030">oper 1030</option>
    </select>
    <input type="button" value="ShowID" onclick="ShowID()">
    <div id="info1">info1</div>


Есть скрипт (00.js), в котором должны сохраняться выбранные в полях значения ElemID и OperID (они оформлены как глобальные):

var ElemID;
var OperID;
 
function SelectElem(ElemID) {
    document.getElementById('info1').innerHTML='SelectElem : ElemID = '+ElemID+' OperID = '+OperID;
}
function SelectOper(OperID) {
    document.getElementById('info1').innerHTML='SelectOper : ElemID = '+ElemID+' OperID = '+OperID;
}
function ShowID() {
    alert('ShowID : ElemID = '+ElemID+' OperID = '+OperID);
}


Но при выборе в одном поле пропадает значение в другом, например:
SelectElem : ElemID = 20 OperID = undefined (при выборе в первом) или
SelectOper : ElemID = undefined OperID = 1020 (при выборе во втором)

При нажатии ShowID (которая должна показать обе) вообще:
ShowID : ElemID = undefined OperID = undefined

1) Почему значения переменных не сохраняются, они же вроде глобальные и
2) как сделать, чтобы сохранялись?
3) Или как-то по-другому, чтобы оба выбранных значения сохранялись и могли быть использованы в дальнейшем

Вот здесь показано, как это работает (не так, как надо)
http://sprav89.ru/00.php

Спасибо!

Последний раз редактировалось top89, 23.12.2015 в 20:47.
Ответить с цитированием