Avatar billede mickill Nybegynder
11. juni 2002 - 11:34 Der er 1 løsning

Rullemenu......igen !!!!

Jeg fik lavet dette script af en herinde på eksperten (eagleeye):

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>

Hvis jeg nu godt kunne tænke mig at have en tredje eller fjerde rullemenu, hvor værdierne i rullemenu 3 afhænger af hvad der er valgt i rullemenu 2 og værdierne i rullemenu 4 afhænger af hvad der er valgt i rullemenu 3, altså ligesom det er lavet i scriptet.

Jeg har prøvet, men kan ikke finde løsningen.

På forhånd tak.
Avatar billede mickill Nybegynder
16. juni 2002 - 20:02 #1
Jeg prøver at stille spørgsmålet igen
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