Ciao a tutti,
Ho letto qualche dispensa di javascript e stavo lavorando su di uno script un po' particolare che vi illustro brevemente:
Nel body della pagina ho uno script di questo genere:
codice:
<script type="text/javascript"><!--
document.write("<select class=\"classe1\" id=\"id1\" name=\"nome1\">");
document.write("<option value=\"0\" selected=\"selected\">< Giocattoli ></option>");
aggiungi_giocattoli()
document.write("</select>");
//--></script>
che genera nell'html un tag select contenente il nome di una serie di giocattoli.
Io vorrei aggiungere una funzione che mi salvi in una variabile il valore del tag option selezionato (A) in modo che in un altro script possa tranquillamente scrivere:
codice:
<script type="text/javascript"><!--
document.write("<select onchange=\"fornitori(this, A, 9);\" class=\"classe2\" name=\"nome2\">");
document.write("<option value=\"< Fornitore >\" selected=\"selected\">< Fornitore ></option>");
scriviqui(A)
document.write("</select>");
//--></script>
Ho trovato diversi script in rete già pronti che usano selectedIndex come questo qui sotto però appena faccio delle varianti non funziona nulla. Qualche consiglio?
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<script type="text/javascript">
// Create arrays containing state cities
// Note: These arrays could be created dynamically
var arrStates, arrFlorida, arrNewYork, arrTennessee
arrFlorida = ["Daytona Beach", "Miami", "Orlando", "Tampa"]
arrNewYork = ["Albany","New York", "Oakland", "Rochester"]
arrTennessee = ["Gatlinburg", "Knoxville", "Memphis", "Nashville"]
arrStates =[arrFlorida, arrNewYork, arrTennessee]
// Function to handle dynamically altering the contents of the City List box
function handleChange(newDisplay)
{ var StateSelect, CitySelect, NumEntries, i
StateSelect = document.frm.States
CitySelect = document.frm.Cities
// Delete all entries in the cities list box
for (i = CitySelect.length; i > 0; i--)
{
CitySelect.options[i-1] = null
}
// Add comment option to City List box
CitySelect.options[0] = new Option("-- Select City --",0)
// If state is selected add its cities to the City List box
if (newDisplay >= 0)
{
NumEntries = arrStates[newDisplay].length
for (i = 1; i <= NumEntries; i++)
{
CitySelect.options[i] = new Option((arrStates[newDisplay])[i-1],(i))
}
}
CitySelect.selectedIndex = 0
}
</script>
</head>
<body>
<form name="frm" action="">
States:
<select name="States" onChange="handleChange(this[this.selectedIndex].value)">
<option value="-1">-- Select State --
<option value="0">Florida
<option value="1">New York
<option value="2">Tennessee
</select>
Cities:
<select name="Cities">
<option value="-1">-- Select City --
<option>
<option>
<option>
<option>
</select>
<script type="text/javascript">
handleChange(-1)
</script>
</form>
</body>
</html>
Grazie
P.S.: In pratica vorrei che la scrittura di un tag select avvenisse sulla scelta di un select posto sopra. In sostanza non riesco ad assegnare un valore a questa A. Non voglio postarvi tutto il codice ed il contenuto delle funzioni altrimenti venite vecchi e la domanda diventa troppo complessa...