Comboboks med 3 selects
HejHar følgende script:
<html>
<head>
<%
set conn = server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="
SQL = "SELECT [land], [hoejde], [pris] FROM flag ORDER BY [land], [hoejde], [pris]"
Set rs = Conn.Execute(SQL)
rsArr = rs.GetRows()
'Så er [Producent] i rsArr(0,i), [Model] er i rsArr(1,i), [Varenummer] er i rsArr(2,i)
Conn.Close
%>
<script language="javascript" type="text/javascript">
var arr = [
<%
oldValg1 = ""
oldValg2 = ""
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
Response.write "'" & rsArr(2,i) & "'"
t = i+1
if t <= ubound(rsArr,2) then
endValg = false
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('sel3'));
}
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 style="FONT-SIZE: 12px" onload="initSels()">
<form>
Land:
<select name="sel3" id="sel3" onchange="createOpts(this,'sel3','sel4','sel5');">
<option value="" selected>Vis alle</option>
</select>
<br>
Hoejde:
<select name="sel4" id="sel4" onchange="createOpts(this,'sel3','sel4','sel5');">
<option value="" selected><-- Vælg --</option>
</select>
<br>
Prisen er:
<select name="sel5" id="sel5">
<option value="" selected><-- Vælg --</option>
</select>
<input size="8" name="sel5" id="sel5">
</body>
</html>
Dette virker fint, dog vil jeg nu gerne have lavet det sådan at sel5 automatiskt blive vist i en input box istedet. Er dette muligt ?
