Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Выпадающие списки (https://forum.antichat.xyz/showthread.php?t=162205)

SultanOFF 09.12.2009 17:39

Выпадающие списки
 
Здравствуйте. Есть необходимость сделать на сайте с помощью js выпадающие списки. Допустим в первом выпадающем списке человек из вариантов тест1, тест2, тест3 выбирает тест2 появляется еще один выпадающий список. как можно подобное реализовать? какие у кого идеи? Помогите пожалуйста :)

L I G A 09.12.2009 19:44

http://webdesign.site3k.net/?/conjuncture/append/d/menudrop.html

SultanOFF 10.12.2009 06:32

решил делать вот так:
Код:

<html>
  <head>
    <script>
      function dis(a, b) {
        a.form.elements[b].disabled = (a.value != 1);
      }
    </script>
  </head>
  <body>
    <form name="form1">
      <select name="sel1" onchange="dis(this, 'sel2')">
        <option value="1">1
        <option value="2">2
        <option value="3">3
      </select>
      <select name="sel2">
        <option value="1">1
        <option value="2">2
        <option value="3">3
      </select>
    </form>
  </body>
</html>

но есть еще одна функция:
Код:

function validate (elem)
{
    var text = elem.value;
    var result = "";
    for ( var i = 0; i < text.length; i++ )
        if ( text.charAt (i) >= "0" && text.charAt (i) <= "9" ) result += text.charAt (i);
    elem.value = result;
}
function imgOpen (n)
{
    document.getElementById ("img").src = "http://site.com/1/" + n.toString() + ".jpg";
    document.getElementById ("img_block").style.display = "block";
}

которая выводит изображения вот так:
Код:

<input type="text" id="img_n" onkeyup="validate (this);" onblur="validate (this);" onchange="validate (this);" />
<input type="button" onclick="imgOpen(document.getElementById ('img_n').value);" value="Показать!" />

и собственно вопрос как сделать чтобы например если в первом селекте выбрано значение 1 то селект2 становится доступным, и если допустим в селект2 выбрано значение 1 то ссылка http://site.com/1/ если выбрано значение 2 то ссылка становится http://site.com/2/ ??? Что то никак понять не могу :(

Gray_Wolf 10.12.2009 10:22

Цитата:

Сообщение от SultanOFF
и собственно вопрос как сделать чтобы например если в первом селекте выбрано значение 1 то селект2 становится доступным

Ну это как я понял вы уже сделали.
Хотя можно сделать это не через [B]elements.disabled, а просто через display='none'

Цитата:

Сообщение от SultanOFF
, и если допустим в селект2 выбрано значение 1 то ссылка http://site.com/1/ если выбрано значение 2 то ссылка становится http://site.com/2/ ??? Что то никак понять не могу :(

Ну а почему нельзя просто использовать глобальную переменную?
Код:

<script>
var imgDir=0;
//далее функция которая заносит то что выбрали во втором селекте в переменную imgDir
//ну и изменяем фенкцию imgOpen
function imgOpen (n)
{
    document.getElementById ("img").src = "http://site.com/"+ imgDir.toString() +"/" + n.toString() + ".jpg";
    document.getElementById ("img_block").style.display = "block";
}
 </script>


SultanOFF 10.12.2009 13:51

Цитата:

//далее функция которая заносит то что выбрали во втором селекте в переменную imgDir
пожалуйста можете привести пример данной функции :)

Gray_Wolf 10.12.2009 14:49

Код:

<html>
  <head>
    <script>
        var imgDir=1;//даём 1-е значение из списка, т.к. ф-ия setPath у нас вызывается только при изменении
      function dis(a, b) {
        a.form.elements[b].disabled = (a.value != 1);
      }
          function setPath(value) {
                  imgDir=value;
                  alert(imgDir);
          }
    </script>
  </head>
  <body>
    <form name="form1">
      <select name="sel1" onchange="dis(this, 'sel2')">
        <option value="1">1
        <option value="2">2
        <option value="3">3
      </select>
      <select name="sel2" onchange="setPath(value)">
        <option value="1">1
        <option value="2">2
        <option value="3">3
      </select>
    </form>
  </body>
</html>


SultanOFF 10.12.2009 16:15

спасибо огромное Gray_Wolf Вы Мне очень помогли :)

b3 10.12.2009 16:30

Выпадающие с писки
http://anton.shevchuk.name/wp-demo/jquery-tutorials/accordion1.html


Время: 15:42