Sì, avevo visto: è dal punto di vista automobilistico americano. La mia Skoda a Vapore nemmeno ce n'è una ....
Se andiamo a ricercare tutti i modelli del mondo o quasi, andremo ben oltre le 10.000 voci. Ma probabilmente non è quello che deve fare il nostro amico.
Con la via che ho indicato diciamo che una sorta di QUATTRORUOTE digi-consultabile ce lo può fare, copiando con calma
il difficile sarebbe tenere aggiornati i prezzi di tutti gli articoli, ma non il "peso" dell' Array una volta che è stato compilato.
Può anche salvare separati Array in separati file da richiamare con diversi SCRIPT SRC=""
bmw.js
fiat.js
skoda.js
così apre solo quello che serve; l' importante è che in alto e una volta sola ci sia la dichiarazione:
<script type="text/javascript">
var car = new Array();
var i=0;
</script>
Originariamente inviato da cavicchiandrea
Ma Enzo ../.. tu fai come vuoi io mi fermo qui.
Beh anch' io non è che andrò tanto più avanti, ma posto già qualcosa adesso per garantire il ripopolamento faunistico delle SELECT. Ciò ha richiesto l' impianto di un discreto bosco di Array e di cicli FOR, caspita ce n'è anche uno di servizio - immessi - interno alle funzioni:
codice:
<!DOCTYPE html>
<html>
<head><title>car's</title>
<script type="text/javascript" src="database.js"></script>
<script type="text/javascript">
function popola1(){
var immessi = new Array('- scegli marca -');
var doppione;
var options = '<option>- scegli marca -';
for(i=0; i<car.length; i++){
for(n=0; n<immessi.length; n++){
if(immessi[n]==car[i][0]){
n=immessi.length;
doppione=true;
} else {
doppione=false;
};
};
if(doppione==false){ //alert(immessi)
immessi[immessi.length]=car[i][0];
options = options + '<option value="' + car[i][0] + '">' + car[i][0];
};
};
document.getElementById("casa").innerHTML='<select id="marca" onchange="popola2(this.value);">' + options + '<\/select>';
document.getElementById("casabtn").disabled="";
};
function popola2(marca){
var immessi = new Array('- scegli modello -');
var doppione;
for(i=0; i<car.length; i++){
if(car[i][0]==marca){
for(n=0; n<immessi.length; n++){
if(immessi[n]==car[i][1]){
n=immessi.length;
doppione=true;
} else {
doppione=false;
};
};
if(doppione==false){ //alert(immessi)
immessi[immessi.length]=car[i][1];
};
};
};
immessi.sort();
var options = '';
for(n=0; n<immessi.length; n++){
options = options + '<option value="' + immessi[n] + '">' + immessi[n];
};
document.getElementById("tipo").innerHTML='<select id="modello" onchange="popola3(this.value);">' + options + '<\/select>';
document.getElementById("tipobtn").disabled="";
};
function ricerca(qualeSelect, indice){
var criterio = document.getElementById(qualeSelect).value;
var riga = '<thead><tr><th>MARCA<\/th><th>ANNO<\/th><th>MODELLO<\/th><\/tr><\/thead><tbody>';
for(i=0; i<car.length; i++){
if(car[i][indice]==criterio){
riga = riga + '<tr valign="top"><td>' + car[i][0] + '<\/td><td>' + car[i][2] + '<\/td><td>[img]' + car[i][4] + '[/img]' + car[i][3] +
'<\/td><\/tr>';
};
};
var tabella='<table border="0" align="center"><tbody><tr><td>' + '<table border="1">' + riga + '<\/tbody><\/table><\/td><\/tr><\/tbody><\/table>';
document.getElementById("risultati").innerHTML='<hr>' + tabella;
};
</script>
</head><body onload="popola1();">
<div>
<table border="0" align="center"><tbody><tr>
<td>- esegui la ricerca secondo il criterio che preferisci -<hr>
<table border="0"><tbody><tr>
<td id="casa" ><select disabled="disabled"><option>- scegli marca - </select></td><td><input id="casabtn" value="cerca" type="button"
onclick="ricerca('marca', 0);" disabled="disabled"></td><td>/\</td>
<td id="tipo" ><select disabled="disabled"><option>- scegli modello -</select></td><td><input id="tipobtn" value="cerca" type="button"
onclick="ricerca('modello',1);" disabled="disabled"></td><td>/\</td>
<td id="epoca"><select disabled="disabled"><option>- scegli l' anno -</select></td><td><input id="epocabtn" value="cerca" type="button"
onclick="ricerca('anno', 2);" disabled="disabled"></td></tr></tbody>
</table></td></tr></tbody>
</table>
</div>
<div id="risultati">
</div>
<noscript>L' applicazione non può funzionare perché avete JavaScript disabilitato sul Browser.</noscript>
</body>
</html>
immessi.sort(); ti garantisce l' ordinamento alfabetico nella 2.a SELECT.
Ho lasciato in sospeso di sviluppare per ANNO.
P.S.: aspetta, il sort() è case-sensitive "E" viene messo prima di "a"
comunque quel che ho fatto ho fatto, ora devo lasciare: avevo un po' tutto a mente da precedenti studi, come ho detto.
popola1 e popola2 le ho volutamente lasciate affrontare in modo leggermente diverso l' allestimento della var options.
P.S. del P.S.: Adesso è andato tutto in crisi per la i tra le quadre: la prima occorrenza di
if(immessi[n]==car[0]){ devi cambiarla in
if(immessi[n]==car[i][0]){
CONTRORDINE: ho fatto un replace.