Avatar billede mickill Nybegynder
06. juni 2002 - 12:41 Der er 6 kommentarer og
1 løsning

Rulle menu

Hej.

Jeg har lavet 2 rulle menuer:

<select name="select1">
<option value="ting1">ting1</option>
<option value="ting2">ting2</option>
</select>

<select name="select2">
<option value=""></option>
<option value=""></option>
</select>

Jeg kunne godt tænke mig at værdierne i rulle menu2 (select2) bestemmes af hvad der er blevet valgt i rulle menu1 (select1).

Kan det lade sig gøre og hvordan ??

Tak
Avatar billede tmceu Praktikant
06. juni 2002 - 12:47 #1
Vil du virkelig have den retur til serveren for at opdatere menu2 ? Ellers skal det laves med noget JavaScript. Lad høre...
Avatar billede mickill Nybegynder
06. juni 2002 - 12:52 #2
Ikke nødvendigvis, hvis det kan laves med javscript er det fint nok
Avatar billede puppetmaster Nybegynder
06. juni 2002 - 13:54 #3
Hmmm...det burde vel også kunne lade sig gøre med client-side ASP.....
Avatar billede tmceu Praktikant
06. juni 2002 - 14:00 #4
Mener du remote scripting, så ja :-)

Har ikke lyst til at rode mig ud i det lige nu, men eagleeye er vist en "ørn" til det, så måske kan I fange hans opmærksomhed :-)
Avatar billede eagleeye Praktikant
09. juni 2002 - 13:52 #5
Jeg har dette eks som er lavet med Javascript... :


<html>
<head>
<title></title>

<script language = "JavaScript">

<!-- hide me
<%
'Jeg har to tabeller til dette eks, første tabel:
'Tabel navn: ting
' select1ID : autonummer
' select1navn : tekst
'Den anden tabel:
'Tabel navn: select2
' ID : autonummer
' select1ID : tal (indeholder tallet select1ID som svare til select1ID)
' select2navn : tekst
set rs = server.CreateObject("ADODB.Recordset")
set rsSel2 = server.CreateObject("ADODB.Recordset")
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db9.mdb")
'Lav SQL som hendter info the select1
strSQL = "SELECT * FROM ting"
set rs = conn.Execute (strSQL)
select1Options = ""
firstName = ""
do while not rs.EOF
  if firstName = "" then
    firstName = "Arr_" & rs("select1ID")
  end if
  select1Options = select1Options & "<option value=Arr_" & rs("select1ID") & ">" & rs("select1navn") & "</option>"
  strSQL = "SELECT * FROM select2 WHERE select1ID = " & rs("select1ID")
  Set rsSel2 = conn.execute (strSQL)
  %>
  var Arr_<%=rs("select1ID")%> = new Array(
  <%
  do while not rsSel2.EOF
    Response.Write """" & rsSel2("select2navn") & """"
    rsSel2.MoveNext
    if not rsSel2.EOF then
      Response.Write ","
    end if
  loop
  %>
  );
  <%
  rs.MoveNext
loop
%>

function opdaterSelect2(the_array_name)
{
    //var numbers_select = window.document.formnavn.the_examples;
    var the_array = eval(the_array_name);
    setOptionText(window.document.formNavn.select2, the_array);
}

function setOptionText(the_select, the_array)
{ 
    //slet indholdet at select2 inde de nye ligges ind.
    no_in_select = the_select.options.length;
    for (loop=0; loop <= no_in_select; loop++)
    {
        the_select.remove(0);
    }
    //fyld select2 op med nye data
    for (loop=0; loop < the_array.length; loop++)
    {
      var oOption = document.createElement("OPTION");
      oOption.text=the_array[loop];
      the_select.add(oOption);
    }
}

function udfyldSelect2()
{
  setOptionText (window.document.formNavn.select2,<%=firstName%>);
}
// show me -->

</script>
</head>
<body onLoad="udfyldSelect2()">
<form name="formNavn">
<select name="select1"
onChange="opdaterSelect2(window.document.formNavn.select1.options[selectedIndex].value);">
<%=select1Options%>
</select>

<select name="select2">
</select>
</form>

</body>
</html>
Avatar billede mickill Nybegynder
10. juni 2002 - 10:53 #6
Det virker fandme som det skal, tak for det.
Avatar billede tmceu Praktikant
10. juni 2002 - 12:22 #7
Jeg sagde jo at han ku' :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester