Just nu i M3-nätverket
Jump to content

Dynamisk dropdown


.mixon

Recommended Posts

Hej,

 

är heldum på javascript men har hittat ett script som gör följande:

 

I en första dropdownbox väljes ett värde, utifrån detta värde fylls sen nästa dropdownbox med data. Från början var denna data hårdkodad i scriptet men nu har jag lyckats få till så att det hämtas från en Accessdatabas istället.

 

Jag tänkte använda scriptet till ett system där man redovisar målskyttar och framspelare, ex:

 

I första dropdownboxen väljer man lag. Då ska det lagets samtliga spelar populera andra, tredje och fjärde dropdownboxen så att man kan välja den spelare som gjort mål samt de två som assisterat. Detta ska helst också hänga ihop så att om t.ex. Peter Forsberg gjort mål ska givetvis hans namn inte finnas med i de övriga två boxarna...

 

Jag har kommit så långt som att man väljer lag och andra dropdownboxen fylls med rätt spelare. Men jag får inte de tredje och fjärde boxarna att fyllas på hur jag än pular med scriptet (jäkligt svårt då jag får gissa hela tiden eftersom jag inte vet...)

 

Såhär ser min kod ut (variablerna a, away och home kommer från ett formulär på förra sidan.):

[log]<%

Dim a, b

Dim away, home

 

a = Request.Form("tal")

away = Request.Form("away")

home = Request.Form("home")

%>

<!-- #include file="openLDBConn.inc" -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

 

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Jerome Caron (jerome.caron@globetrotter.net) -->

 

<!-- This script and many more are available free online at -->

<!-- The JavaScript Source!! http://javascript.internet.com -->

 

<!-- Begin

team = new Array(

new Array(

<%

lSQL = "SELECT PlayerId, TeamId, FirstName, LastName FROM tblPlayers WHERE TeamId = '" & away & "' AND IntPosition > 0 ORDER BY LastName ASC, FirstName ASC;"

lRS.Open lSQL, lConn, adOpenStatic

 

Do Until lRS.EOF

 

strAway = strAway & "new Array(""" & lRS("FirstName") & " " & lRS("LastName") & """, " & lRS("PlayerId") & ")," & vbCrLf

 

lRS.MoveNext

Loop

strAway=Left(strAway,Len(strAway)-3)

Response.write strAway

lRS.Close%>

),

new Array(<%

lSQL = "SELECT PlayerId, TeamId, FirstName, LastName FROM tblPlayers WHERE TeamId = '" & home & "' AND IntPosition > 0 ORDER BY LastName ASC, FirstName ASC;"

lRS.Open lSQL, lConn, adOpenStatic

 

Do Until lRS.EOF

 

strHome = strHome & "new Array(""" & lRS("FirstName") & " " & lRS("LastName") & """, " & lRS("PlayerId") & ")," & vbCrLf

 

lRS.MoveNext

Loop

strHome=Left(strHome,Len(strHome)-3)

Response.write strHome%>

)

);

function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {

var i, j;

var prompt;

// empty existing items

for (i = selectCtrl.options.length; i >= 0; i--) {

selectCtrl.options = null;

}

prompt = (itemArray != null) ? goodPrompt : badPrompt;

if (prompt == null) {

j = 0;

}

else {

selectCtrl.options[0] = new Option(prompt);

j = 1;

}

if (itemArray != null) {

// add new items

for (i = 0; i < itemArray.length; i++) {

selectCtrl.options[j] = new Option(itemArray[0]);

if (itemArray[1] != null) {

selectCtrl.options[j].value = itemArray[1];

}

j++;

}

// select first item (prompt) for sub list

selectCtrl.options[0].selected = true;

}

}

// End -->

</script>

 

</head>

<!-- #include file="closeLDBConn.inc" -->

<body>

 

 

<form name="main" method="post" action="taltestet.asp">

 

<table>

<tr>

<td width="50">Lag:</td>

<td width="130">Målskytt:</td>

<td width="130">Assist 1:</td>

<td width="130">Assist 2:</td>

<td width="50">Typ:</td>

</tr>

<%

for b = 1 to a

%>

<tr>

<td>

<select name="Make<%=b%>" onChange="fillSelectFromArray(this.form.Team<%=b%>, ((this.selectedIndex == -1) ? null : team[this.selectedIndex-1]));">

<option value="-1"></option>

<option value="1"><%=away%></option>

<option value="2"><%=home%></option>

</select>

</td>

<td>

<select name="Team<%=b%>">

<option value=""></option>

</select>

</td>

<td>

<select name="FirstAss<%=b%>">

<option value="----------------"></option>

<option value="1"></option>

<option value="2"></option>

<option value="3"></option>

</select>

</td>

<td>

<select name="SecondAss<%=b%>">

<option value="----------------"></option>

<option value="1"></option>

<option value="2"></option>

<option value="3"></option>

</select>

</td>

<td>

<select name="type<%=b%>">

<option value="---"></option>

<option value="pp">PPG</option>

<option value="sh">SHG</option>

<option value="en">ENG</option>

</select>

</td>

</tr>

<%

next

%>

</table>

<input name="skicka" type="submit" value="Next">

 

</form>

 

</body>

</html>

[/log]

 

Någon javascriptkunnig som är sugen på en utmaning samt poäng om detta fixas?

 

Tack så länge,

.mixon

[inlägget ändrat 2004-08-11 22:02:35 av .mixon]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...