Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
     
 

Все статьи:


1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85

Как сделать зависимость?


    HardWoman 26.07.2006 - 16:22
Уважаемые господа!

Прошу помочь, как сделать зависмость между собой между двумя выпадающими списками, т.е достич того чтобы при выбборе какого нибудь определенного значения в списке 1 изменялся состав списка 2 :/


    Leningrad00 26.07.2006 - 16:44
А дайте что-нить более визуально-ощутимое.


    HardWoman 26.07.2006 - 18:51
Визуально трудно попробую словами:

1 выпадающий список :
20
30
40

Если в 1 списке выбираешь 20 то 2 список получаеться:

5
6
7

Если в 1 списке выбираешь 30 то 2 список получаеться:

8
9
2

Все это к примеру, визульно просто не могу :( ;)


    vasa_c 26.07.2006 - 20:24
Что-то вроде этого?<br>
<script type="text/javascript">
  function chSEL1( s ) {
    if ( s.value == 0  ) A = [ "Выберите в первом хоть что-нибудь" ];
    if ( s.value == 20 ) A = [ 5, 6, 7 ];
    if ( s.value == 30 ) A = [ 8, 9, 2 ];
    if ( s.value == 40 ) A = [ 1, 2, 3 ];
    var s2 = document.getElementById( "sel2" );
    while ( s2.firstChild ) s2.removeChild( s2.firstChild );
    for ( var i = 0; i < A.length; i++ ) {
      var o = document.createElement( "option" );
      o.setAttribute( "value", A[ i ] );
      o.appendChild( document.createTextNode( A[ i ] ) );
      s2.appendChild( o );
    }
  } // chSEL1().
</script>
<select onchange="chSEL1(this)">
  <option value="0">Ничего не выбрано</option>
  <option value="20">20</option>
  <option value="30">30</option>
  <option value="40">40</option>
</select>
<select id="sel2">
  <option>Выберите в первом хоть что-нибудь</option>
</select>



    HardWoman 26.07.2006 - 21:05
Да, это именно то что нужно, огромное спасибо ;)


    HardWoman 27.07.2006 - 19:31
vasa_c
А еще можно помочь? ;)
В указанном скрипте function chSEL1( s ) заддает список и список = value списка, а зделать так чтобы сам сформированный список - одни цифры, а value списка - другие цифры.
Заранее спасибо :D


    vasa_c 27.07.2006 - 19:43
<script type="text/javascript">
  function chSEL1( s ) {
    if ( s.value == 0  ) A = [ "Выберите в первом хоть что-нибудь" ];
    if ( s.value == 20 ) A = [ 5, [ 6, 22 ], [ "Семь", 11 ], 33 ];
    if ( s.value == 30 ) A = [ 8, 9, 2 ];
    if ( s.value == 40 ) A = [ 1, 2, 3 ];
    var s2 = document.getElementById( "sel2" );
    while ( s2.firstChild ) s2.removeChild( s2.firstChild );
    for ( var i = 0; i < A.length; i++ ) {
      if ( typeof( A[ i ] ) == "object" ) {
        var str = A[ i ][ 0 ];
        var val = A[ i ][ 1 ];
      } else {
        var str = A[ i ];
        var val = A[ i ];
      }
      var o = document.createElement( "option" );
      o.setAttribute( "value", val );
      o.appendChild( document.createTextNode( str ) );
      s2.appendChild( o );
    }
    return true;
  } // chSEL1().
</script>
<select onchange="chSEL1(this)">
  <option value="0">Ничего не выбрано</option>
  <option value="20">20</option>
  <option value="30">30</option>
  <option value="40">40</option>
</select>
<select id="sel2">
  <option>Выберите в первом хоть что-нибудь</option>
</select>


A = [ 5, [ 6, 22 ], [ "Семь", 11 ], 33 ];

Те значения которые даны просто числами ( 5, 33 ) - для тех строка и значения будут одними.
Для массивов (в кавычках) первый элемент - строка, второй - значение.
[ "Семь", 11 ] —


    HardWoman 28.07.2006 - 10:45
vasa_c :) Огромное спасибо (извнени за задержку) :)