Combo boks
Hej igen,I forlængelse af spørgsmål 387131 ønsker jeg sluttelig at udvide forespørgslen udfra 5 tabeller :). Har selv prøvet at ændre koden, mend desværre uden held.
Koden er som følger:
<html>
<head>
<%
set conn = server.CreateObject("ADODB.Connection")
conn.Open db
SQL = "SELECT [type], [Producent], [printer], [tonerprodukter], [Varenummer] FROM produkter ORDER BY [type], [producent], [printer], [tonerprodukter], [Varenummer]"
Set rs = Conn.Execute(SQL)
rsArr = rs.GetRows()
Conn.Close
%>
<script language="javascript" type="text/javascript">
var arr = [
<%
oldValg1 = ""
oldValg2 = ""
oldValg3 = ""
oldValg4 = ""
for i = 0 to ubound(rsArr,2)
if oldValg1 <> rsArr(0,i) then
Response.write "['" & rsArr(0,i) & "', [" & vbCrLf
oldValg1 = rsArr(0,i)
end if
if oldValg2 <> rsArr(1,i) then
Response.write "['" & rsArr(1,i) & "'"
oldValg2 = rsArr(1,i)
newValg2 = true
end if
if newValg2 then
Response.write "," & vbCrLf & "["
newValg2 = false
end if
if oldValg3 <> rsArr(2,i) then
Response.write "['" & rsArr(2,i) & "'"
oldValg3 = rsArr(2,i)
newValg3 = true
end if
if newValg3 then
Response.write "," & vbCrLf & "["
newValg3 = false
end if
if oldValg4 <> rsArr(3,i) then
Response.write "['" & rsArr(3,i) & "'"
oldValg4 = rsArr(3,i)
newValg4 = true
end if
if newValg4 then
Response.write "," & vbCrLf & "["
newValg4 = false
end if
Response.write "'" & rsArr(4,i) & "'"
t = i+1
if t <= ubound(rsArr,2) then
endValg = false
if oldValg4 <> rsArr(3,t) then
Response.write "]]"
endValg = true
end if
if oldValg3 <> rsArr(2,t) then
Response.write "]]"
endValg = true
end if
if oldValg2 <> rsArr(1,t) then
Response.write "]]"
endValg = true
end if
if oldValg1 <> rsArr(0,t) then
Response.write "]]"
endValg = true
end if
Response.write ","
if endValg = true then response.write vbCrLf
else
Response.write "]]]]]]"
end if
next
%>
];
</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'){
opt.value = ar[i][0];
opt.text = ar[i][0];
}else{
opt.value = ar[i];
opt.text = ar[i];
}
}
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()">
<br>
Type:
<select name="sel1" id="sel1" onchange="createOpts(this,'sel1','sel2','sel3','sel4','sel5');">
<option value="" selected>Vis alle</option>
</select>
<br>
Producent:
<select name="sel2" id="sel2" onchange="createOpts(this,'sel1','sel2','sel3','sel4','sel5');">
<option value="" selected>Vis alle</option>
</select>
<br>
Printer:
<select name="sel3" id="sel3" onchange="createOpts(this,'sel1','sel2','sel3','sel4','sel5');">
<option value="" selected><-- Vælg --</option>
</select>
<br>
Tonerprodukter:
<select name="sel4" id="sel4" onchange="createOpts(this,'sel1','sel2','sel3','sel4','sel5');">
<option value="" selected><-- Vælg --</option>
</select>
<br>
Varenummer:
<select name="sel5" id="sel5">
<option value="" selected><-- Vælg --</option>
</select>
</body>
</html>
