Avatar billede kbonline Nybegynder
31. januar 2005 - 23:06 Der er 2 kommentarer og
1 løsning

Ekspert søges - rullemenu afhængig af anden rullemenu

Jeg skal have en rullemenu til at ændre sig afhængig af valget af anden rullemenu ( i 4 niveauer )
Det skal bruges til en PC konfigurator, hvor CPU valg bestemmer bundkorttype, og bundkortvalg bestemmer Ram type.
Der bygges op omkring en database, hvor alle varer er delt op i typekoder.
Dvs. hvis man vælger cputype 56, skal rullemenuen nedenunder vise Bundkorttype 20 som igen skal vise ramtype 300.

Jeg vil meget gerne sende dig koderne til denne konfig side, men den er på 815 linier (mest designkoder).

Jeg vil blot have en ide til hvordan det skal løses, da min fantasi ikke rækker.

Jeg vil helst undgå at siden opdateres hver gang man laver et valg, så mon ikke der skal bruges noget java hardcore?

Her er lige et par enkelte kodeeksempler fra siden.
(de er lidt heavy - sorry)

Skriv evt. til mig på kristian@kbonline.dk hvis du har spørgsmål.


<%
' ----------------------------------------------------------------------------------------------
' SQL forespørgsel find bundkort som passer til processor pr ram
strSQL = "Select * from varer Where kode in (12,15,23) order by apris"
Set rs = Conn.Execute(strSQL)

' ----------------------------------------------------------------------------------------------
%> 
<TR><TD width="19" bgcolor="#FFFFFF" align="center" height="24"><font color="#000080"><b>3</b></font></TD>
  <TD width="110" bgcolor="#FFFFFF" height="24"><font color="#000080"><b>&nbsp;&nbsp;&nbsp; Bundkort</b></font></TD>
      <TD bgcolor="#FFFFFF" width="401" height="24">
      <font color="#000080">
      <SELECT style="WIDTH: 400; POSITION: relative; height:352" onchange=opdater() size=1 name=motherboard>
<%
do
%>
<%apris = round(rs("apris")*db) %>

<OPTION value="<%= apris & "#" & rs("varetekst") %>"><%= rs("varetekst") %> ( kr.<% Response.Write apris %> )</OPTION>
<%rs.MoveNext
Loop While Not rs.EOF
%>

</SELECT> </font>

</TD>
    <TD width="74" bgcolor="#FFFFFF" align="center" height="24"><font color="#000080">
    <INPUT size=5 value=0 name=motherboardapris style="border:1px solid #FFFFFF; font-size: 12 pt; font-weight: bold; text-align: right; background-color: #FFFFFF; ">
    </font> </TD></TR>



<%
' ----------------------------------------------------------------------------------------------
' SQL forespørgsel find ram
strSQL = "Select * from varer Where kode = 1330 order by apris"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' ----------------------------------------------------------------------------------------------
%>   
<TR><TD width="19" align="center" bgcolor="#FFFFFF" height="26"><font color="#000080"><b>4</b></font></TD>
  <TD width="110" bgcolor="#FFFFFF" height="26"><font color="#000080"><b>&nbsp;&nbsp;&nbsp; Ram
    blok 1</b></font></TD>
      <TD width="401" bgcolor="#FFFFFF" height="26">
      <font color="#000080">
      <SELECT style="WIDTH: 400; POSITION: relative; height:352" onchange=opdater() size=1 name=ram1>
<%
do
%>
<%apris = round(rs("apris")*db) %>

<OPTION value="<%= apris & "#" & rs("varetekst") %>"><%= rs("varetekst") %> ( kr.<% Response.Write apris %> )</OPTION>
<%rs.MoveNext
Loop While Not rs.EOF
%>

</SELECT> </font>

</TD>

<TD width="74" bgcolor="#FFFFFF" align="center" height="24"><font color="#000080">
    <INPUT size=5 value=0 name=ram1apris style="border:1px solid #FFFFFF; font-size: 12 pt; font-weight: bold; text-align: right; background-color: #FFFFFF; ">
    </font> </TD></TR>
Avatar billede hooh Nybegynder
01. februar 2005 - 10:15 #1
måske kan dette link hjælpe dig...
http://www.felgall.com/jstip22.htm
Avatar billede eagleeye Praktikant
12. februar 2005 - 00:31 #2
Hej jeg har dette som gør brug af javascritp og kan fylde 4 combo bokse op.



<html>
<head>
<%
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db1.mdb")

SQL = "SELECT [kol_combo1], [value_combo1], [kol_combo2], [value_combo2], [kol_combo3], [value_combo3], [kol_combo4], [value_combo4] FROM combotabeller ORDER BY [kol_combo1], [kol_combo2], [kol_combo3], [kol_combo4]"

Set rs = Conn.Execute(SQL)
%>

<script language="javascript" type="text/javascript">
var arr = [
<%
oldValg1 = ""
oldValg2 = ""
oldValg3 = ""
do while not rs.EOF
  if Cstr(oldValg1) <> Cstr(rs("value_combo1")) then
    Response.write "['" & rs("value_combo1") & "¤¤¤" & rs("kol_combo1") & "', [" & vbCrLf
    oldValg1 = rs("value_combo1")
  end if

  if Cstr(oldValg2) <> Cstr(rs("value_combo2")) then
    Response.write "['" & rs("value_combo1") & "¤¤¤" & rs("kol_combo2") & "'"
    oldValg2 = rs("value_combo2")
    newValg2 = true
  end if
  if newValg2 then
    Response.write "," & vbCrLf & "["
    newValg2 = false
  end if

  if Cstr(oldValg3) <> Cstr(rs("value_combo3")) then
    Response.write "['" & rs("value_combo3") & "¤¤¤" & rs("kol_combo3") & "'"
    oldValg3 = rs("value_combo3")
    newValg3 = true
  end if
  if newValg3 then
    Response.write "," & vbCrLf & "["
    newValg3 = false
  end if

  Response.write "'" & rs("value_combo4") & "¤¤¤" & rs("kol_combo4") & "'"

  rs.Movenext
  if not rs.EOF then
    endValg = false
    if Cstr(oldValg3) <> Cstr(rs("value_combo3")) then
      Response.write "]]"
      endValg = true
    end if
    if Cstr(oldValg2) <> Cstr(rs("value_combo2")) then
      Response.write "]]"
      endValg = true
    end if
    if Cstr(oldValg1) <> Cstr(rs("value_combo1")) then
      Response.write "]]"
      endValg = true
    end if
    Response.write ","
    if endValg = true then response.write vbCrLf
  else
    Response.write "]]]]]]"
  end if

loop
%>
];
</script>
</head>
<body>
<script language="javascript" type="text/javascript">
function initSels(){
    createOpts(document.getElementById('sel1'));
}

function createOpts(sel){
    var s = new Array();
    var num = 0, txt = "arr";
    var ar = opt = null;
    var n = sel.selectedIndex;
    var args = createOpts.arguments.length;
    for(var i=1;args>i;i++){
        s[i-1] = document.getElementById(createOpts.arguments[i]);
        if(s[i-1]==sel)num=i;
    }
    if(args>1){
        if(s[num])sel = s[num];
        else return;
    }
    if(n==0&&args>1){
        for(i=num;args>i+1;i++){
            s[i].length = 0;
            opt = document.createElement('OPTION');
            s[i].appendChild(opt);
            opt.value = "";
            opt.text = "\74-- Vælg --";
        }
        return true
    };
    for(i=0;num>i;i++){
        txt+="["+(s[i].selectedIndex-1)+"][1]";
    }
    ar = eval(txt);
    sel.length = 0;
    opt = document.createElement('OPTION');
    sel.appendChild(opt);
  opt.value = "";
  opt.text = "-- Vælg --";
    for(i=0;ar.length>i;i++){
        opt = document.createElement('OPTION');
        sel.appendChild(opt);
        if(typeof ar[i] == 'object'){
          var str = ar[i][0];
        }else{
          var str = ar[i];
        }
        tarr=str.split("¤¤¤");
        opt.value = tarr[0];
        opt.text = tarr[1];
    }
    if(args>num+2){
        for(i=num+1;args-1>i;i++){
            s[i].length = 0;
            opt = document.createElement('OPTION');
            s[i].appendChild(opt);
            opt.value = "";
            opt.text = "\74-- Vælg --";
        }
    }
}
</script>
</head>

<body onload="initSels()">

<form action="">
Select nr.1:
<select name="sel1" id="sel1" onchange="createOpts(this,'sel1','sel2','sel3','sel4');">
  <option value="" selected>Vis alle</option>
</select>
<br>
Select nr.2:
<select name="sel2" id="sel2" onchange="createOpts(this,'sel1','sel2','sel3','sel4');">
  <option value="" selected>&lt;-- Vælg --</option>
</select>
<br>
Select nr.3:
<select name="sel3" id="sel3" onchange="createOpts(this,'sel1','sel2','sel3','sel4');">
<option value="" selected>&lt;-- Vælg --</option>
</select>
<br>
Select nr.4:
<select name="sel4" id="sel4">
<option value="" selected>&lt;-- Vælg --</option>
</select>

<br><br>
<input type="submit" name="send" value="send">

</form>

</body>
</html>
Avatar billede kbonline Nybegynder
25. juni 2005 - 00:15 #3
pyha lidt af en smøre, men det lykkedes - undskyld ventetiden
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