Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как сделать связанные select'ы


Автор: WWWeb 1.1.2006, 16:23
вот имеется

Код

<select name="sel1">
<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>



Как сделать, чтобы sel2 был доступен только когда sel1.value = 1 , а при остальных значений sel1, sel2 был disabled ?
Добавлено @ 16:27
вот сделал сам вот так

Код

<head>
<script>

function dis()
{

var x = document.form1.sel1.value;
if(x != 1)
{

[i]Вот тут как-то надо задать чтобы форма sel2 стала disabled[/i]
document.form1.sel2.value = 1;

}

}

</script>
</head>
</body>
<form name="form1">

<select name="sel1" onchange="dis()">
<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>
</body>

</form>



Автор: Illuminaty 1.1.2006, 16:57
Код

<script language="javascript" type="text/javascript">
function Sel1Change() {
    document.getElementById("sel2").disabled = (document.getElementById("sel1").value != 1);
    return true;
}
</script>
<select name="sel1" id="sel1" onChange="return Sel1Change();">    
<option value="1">1    
<option value="2">2    
<option value="3">3    
</select>    
<select name="sel2" id="sel2">    
<option value="1">1    
<option value="2">2    
<option value="3">3    
</select>

Удачи

Автор: Zeroglif 1.1.2006, 17:13
Код

<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>

Автор: nobodynobody 2.4.2010, 23:09
А как мне связать эти три селекта, что когда я выбрал из БД улицу создал меню и при выборе соответствующей улицы следующий селект выводил № домов и. т. 

print("<label for = \"street_d\">Выберите улицу");
         $stret_d = mysql_query("SELECT street FROM house");
         print("<select name=\"street_d\" id=\"street_d\">\n"); 
           for($i=0; $i<mysql_num_rows($stret_d); $i++){    
             $s_del= mysql_result($stret_d,$i++);
              print("<OPTION VALUE=\"$s_del\">\"$s_del\"\n");    
            }       
          print("</select>"); 

          $st_d=$_REQUEST['street_d']; 
          print("<label for = \"n_h_d\">Выберите № дома");
         $n_house_d = mysql_query("SELECT N_house FROM house WGERE street = '$st_d'");
         print("<select name=\"n_h_d\">\n"); 
         print("<OPTION VALUE=\"$h_d\">\"$h_d\"\n");    
           for($j=0; $j<mysql_num_rows($n_house_d); $j++){    
            }        
            
          print("</select>"); 
          $hs_d=$_REQUEST['n_h_d'];
            $id_hs_d=mysql_query("SELECT id_house FROM house WHERE street= '$st_d' AND N_house='$hs_d'");
           print("<label for = \"n_a_d\">Выберите № квартиры");
         $n_apart_d = mysql_query("SELECT N_apartment FROM address WHERE id_house= '$id_hs_d'");
         print("<select name=\"n_a_d\">\n"); 
           for($x=0; $x<mysql_num_rows($n_apart_d); $x++){    
             $apart_d= mysql_result($n_apart_d,$x++);
              print("<OPTION VALUE=\"$apart_d\">\"$apart_d\"\n");    
            }    
          print("</select>");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)