Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Код Javascript о выпадающем меню проблема (https://javascript.ru/forum/dom-window/51802-kod-javascript-o-vypadayushhem-menyu-problema.html)

droget 20.11.2014 12:53

Код Javascript о выпадающем меню проблема
 
Вот код

<td class="tabright">Страны:</td>
<td class="tableft"><select id="tmode" onchange="worktimechange(this.from); return false;"><p>
<option value="0">Россия</option>
<option value="1">Белоруссия</option></p>
</select></td>
</tr>
<tr id="worktimeline" style="display: none;">
<td class="tabright">Город</td>
<td class="tableft"><select id="inter">
<option value="1">Минск</option>
<option value="2">Могилев</option>
</select></td>
</tr>
Вот обработчик
<script type="text/javascript"> $(document).ready(function(){
function worktimechange(frm) {
if (???????.value > 0) {
document.getElementById('worktimeline').style.disp lay = '';
} else {
document.getElementById('worktimeline').style.disp lay = 'none';
}
return false;
}
</script>

Что поставить вместо ???????, что бы при выборе "Россия" в выпадающем меню, выпадающее меню "Город" не появлялась, а при выборе "Белоруссия" выпадающее меню "Город" появлялась.:help:

droget 21.11.2014 01:11

Подскажите пожалуйста как это осуществить на старой версии jquery-2.0.3

рони 21.11.2014 01:21

droget,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

krutoy 21.11.2014 02:48

<!DOCTYPE HTML>
 
<html>
 
<head>
  <title>Untitled</title>
  <meta charset="windows-1251">
</head>
 
<body>


<td class="tabright">Страны:</td>
 <td class="tableft"><select id="tmode" ><p>
 <option value="0">Россия</option>
 <option value="1">Белоруссия</option></p>
 </select></td>
 </tr>
 <tr id="worktimeline" style="display: none;">
 <td class="tabright"><span id="hidden1" style="display: none">Город</span></td>
 <td class="tableft"><span id="hidden2" style="display: none"><select id="inter">
 <option value="1">Минск</option>
 <option value="2">Могилев</option>
 </select></span></td>
 </tr>



 <script type="text/javascript"> 
tmode=document.querySelector("#tmode")
hidden1=document.querySelector("#hidden1")
hidden2=document.querySelector("#hidden2")
tmode.onchange=function(){
  if(this.value==="1") {
     hidden1.style.display="inline"; hidden2.style.display="inline"
  }else{
     hidden1.style.display="none"; hidden2.style.display="none"
  }
}

 </script>

</script>
</body>
 
</html>

рони 21.11.2014 03:03

krutoy,
а почему вы не использовали старую версию
Цитата:

Сообщение от droget
2.0.3

:)

krutoy 21.11.2014 03:15

рони,
Я не знаю жеквери вообще. :)

рони 21.11.2014 03:17

Цитата:

Сообщение от droget
Что поставить вместо ???????

что ни поставь работать не будет, пока не вынесите функцию из блока $(document).ready(function(){ и тогда

<!DOCTYPE HTML>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
</head>

<body>
    <table>
        <tr>
            <td class="tabright">Страны:</td>
            <td class="tableft">
                <select id="tmode" onchange="worktimechange(this); return false;">
                    <p>
                        <option value="0">Россия</option>
                        <option value="1">Белоруссия</option>
                    </p>
                </select>
            </td>
        </tr>
        <tr id="worktimeline" style="display: none;">
            <td class="tabright">Город</td>
            <td class="tableft">
                <select id="inter">
                    <option value="1">Минск</option>
                    <option value="2">Могилев</option>
                </select>
            </td>
        </tr>
    </table>

    <script type="text/javascript">
        function worktimechange(frm) {
            if (frm.value > 0) {
                document.getElementById('worktimeline').style.display = '';
            } else {
                document.getElementById('worktimeline').style.display = 'none';
            }
            return false;
        }
    </script>

</body>

</html>

либо меняите функцию внутри блока на код предложенный krutoy,


Часовой пояс GMT +3, время: 04:11.