Vise/skjule tekst
Jeg skal have lavet et spillersøgningssystem i Javascript. Alle poster fra en Access database skal skrives ved hjælp i ASP (ikke noget problem - er gjort). Herudover skal der være en dropdown menu, hvor alle landene der er spillere fra vises (se kode nedenfor). Når et land vælges skal spillere fra KUN det land vises og ingen andre. Hvordan det laves i Javascript kan jeg simpelthen ikke finde ud af. Jeg har nedenstående kode:<script type="text/javascript">
<!--
function ShowHide(id) {
<%
dbname=Server.Mappath("../../db/manager.mdb")
set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open
sql="select * from players order by country"
set rs = cn.execute(sql)
country="0"
%>
<%
do while not rs.eof
if not country=rs("country") then
country=rs("country")
%>
obj = document.getElementsByTagName("div");
if (obj[country] == '<%=rs("country")%>'){
obj[country].style.visibility = 'visible';
}
<%
end if
rs.movenext
loop
%>
}
//-->
</script>
<%
dbname=Server.Mappath("../../db/manager.mdb")
set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open
sql="select * from players order by country"
set rs = cn.execute(sql)
country="0"
%>
<form action="" name="form" method="post">
<select name="countryid" onchange="ShowHide('argentina')">
<option selected>Vælg land</option>
<%
rs.movefirst
do while not rs.eof
if not country=rs("country") then
country=rs("country")
response.write"<option>" & rs("country") & "</option>"
end if
rs.movenext
loop
%>
</option>
</select>
</form>
<table cellspacing=0 cellpadding=0 ID=Players>
<%
dbname=Server.Mappath("../../db/manager.mdb")
set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open
sql="select * from players"
set rs=cn.execute(sql)
%>
<tr>
<td>
<% do while not rs.eof %>
<%
price=rs("startingprice")+rs("round1bonus")+rs("round2bonus")+rs("round3bonus")+rs("round4bonus")+rs("round5bonus")+rs("round6bonus")+rs("round7bonus")
%>
<div style="visibility:hidden" price="<%=price%>" position="<%=rs("position")%>" name="<%=rs("firstname") & " " & rs("lastname")%>" country="<%=rs("country")%>" id="<%=rs("id")%>"><%=rs("firstname") & " " & rs("lastname")%> - <%=price%></div>
<%
rs.movenext
loop
%>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
I dette eksempel har jeg sat den til at skulle vise spillere fra Argentina "onchange" i dropdown menuen, men ikke engang det virker. Jeg skal have den til at vise de linier, hvor "country='det i dropdown menuen valgte land'" og ikke andre, men det kan jeg slet ikke se mig igennem. Et andet mindre problem er at scrolleren får en længde der svarer til at alle linier er synlige, selvom de som standard ikke er det, og det skal den selvfølgelig ikke. Da jeg ikke er nogen haj til Javascript kan det godt være der er en anden måde det skal laves på. I så fald - fortæl fortæl...
På forhånd mange tak...
