Devo essere molto stanco per le feste, sono riuscito a cancellare il mio messaggio precedente mentre scrivevo questo...
Ok, ricominciamo... (non ho ben capito come ho fatto ma ho cancellato due messaggi, quello che stavo scrivendo e il vecchio).
Ricapitoliamo
Il codice è
Codice:
<form method="GET" action="" id="ricerca-prodotti">
<label>Marche telecomandi</label>
<select name="marca" class="ricerca-prodotti-input">
<option value="">---</option>
<option value="acm">Acm</option>
<option value="adher">Adher</option>
<option value="allducks">Allducks</option>
<option value="aprimatic">Aprimatic</option>
<option value="ballan">Ballan</option>
<option value="bft">BFT</option>
<option value="cardin">Cardin</option>
<option value="cg2a">CG2A</option>
<option value="dirichx">Dirickx</option>
<option value="ducati">Ducati</option>
<option value="faac">FAAC</option>
<option value="genius">Genius</option>
<option value="gobbato">Gobbato</option>
<option value="jcm">JCM</option>
<option value="jl">JL</option>
<option value="label">Label</option>
<option value="luminox">Luminox</option>
<option value="mk-techno">MK-Techno</option>
<option value="nice">Nice</option>
<option value="0 e 0">O e O</option>
<option value="quasar">Quasar</option>
<option value="rib">Rib</option>
<option value="siminor">Siminor</option>
<option value="telcoma">Telcoma</option>
</select>
<label for="tasti">Numero dei tasti:</label>
<input type="range" name="numero_tasti" class="ricerca-prodotti-input" list="tasti_list" step="1" min="0" max="4">
<datalist id="tasti_list">
<option>-</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</datalist>
<label>Colore tasti</label>
<select name="colore_tasti" class="ricerca-prodotti-input">
<option value="">---</option>
<option value="rosso">Rosso</option>
<option value="nero">Nero</option>
<option value="bianco">Bianco</option>
<option value="arancio">Arancio</option>
<option value="grigio">Grigio</option>
</select>
</form>
<h2>Risultati ricerca:</h2>
<div id="risultati-ricerca"></div>
<h2>Risultati ricerca:</h2>
<div id="risultati-ricerca"></div>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
function mostra_risultati(risultati) {
var container = $('#risultati-ricerca');
container.empty();
for (var i = 0; i < risultati.length; ++i) {
var risultato = risultati[i];
$('<div>').html(risultato.modello).appendTo(container);
}
if (risultati.length == 0) {
container.append($('<p>Nessun risultato trovato</p>'));
}
}
$('.ricerca-prodotti-input').change(function () {
var form = $('#ricerca-prodotti');
$.get('motore-ricerca.php', form.serialize(), function (risultati) {
mostra_risultati(risultati);
});
});
function mostra_risultati(risultati) {
var container = $('#risultati-ricerca');
container.empty();
if (risultati.length == 0) {
container.append($('<p>Nessun risultato trovato</p>'));
}
else {
container.append($('<p>Hai trovato ' + risultati.length + ' telecomandi.</p>'));
}
for (var i = 0; i < risultati.length; ++i) {
var risultato = risultati[i];
var name = risultato.marca + ' ' risultato.modello;
var image = $('<img>').attr('src', risultato.immagine).attr('width', 200).attr('alt', name).attr('title', name);
var link = $('<a>').attr('href', risultato.link');
var text = $('<strong>').html(risultato.marca + ' ' + risultato.modello);
var result_container = $('<div>');
image.appendTo(link);
link.appendTo(result_container);
text.appendTo(result_container);
result_container.appendTo(container);
}
}
</script>
E in effetti non funziona più nulla.... la pagina è lì ma i selettori non fanno mostrare nulla...
La prima cosa che noto è la modifica fatta da me (però fino a poco fa funzionava):
<label for="tasti">Numero dei tasti:</label>
Codice:
<input type="range" name="numero_tasti" class="ricerca-prodotti-input" list="tasti_list" step="1" min="0" max="4">
<datalist id="tasti_list">
<option>-</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</datalist>
Forse non va l'opzione - ma quella >0< ... no
Torno alla vecchia versione:
Codice:
<label for="tasti">Numero dei tasti:</label>
<input type="range" name="numero_tasti" class="ricerca-prodotti-input" list="tasti_list" step="1" min="1" max="4">
<datalist id="tasti_list">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</datalist>
Niente...
C'è qualcosa nel nuova codice che da fastidio...
Noto che non ho mai levato prima della chiusura dell'Head questo codice
Codice:
</style>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
$.get('files/telecomandi2.txt', function (file) {
allTextLines = file.split(/\r\n|\n/);
$.each(allTextLines, function (elem) {
var riga = allTextLines[elem].split("|");
$('#risultato').append('<option value="' + riga[1] + '">' + riga[0] + '</option>');
});
});
</script>
Ma al limite è ininfluente, è il codice per il telecomando random non ha mai dato fastidio...
levo <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
Torno alla versione precedente
Codice:
<form method="GET" action="" id="ricerca-prodotti">
<label>Marche telecomandi</label>
<select name="marca" class="ricerca-prodotti-input">
<option value="-">---</option>
<option value="acm">Acm</option>
<option value="adher">Adher</option>
<option value="allducks">Allducks</option>
<option value="aprimatic">Aprimatic</option>
<option value="ballan">Ballan</option>
<option value="bft">BFT</option>
<option value="cardin">Cardin</option>
<option value="cg2a">CG2A</option>
<option value="dirichx">Dirickx</option>
<option value="ducati">Ducati</option>
<option value="faac">FAAC</option>
<option value="genius">Genius</option>
<option value="gobbato">Gobbato</option>
<option value="jcm">JCM</option>
<option value="jl">JL</option>
<option value="label">Label</option>
<option value="luminox">Luminox</option>
<option value="mk-techno">MK-Techno</option>
<option value="nice">Nice</option>
<option value="0 e 0">O e O</option>
<option value="quasar">Quasar</option>
<option value="rib">Rib</option>
<option value="siminor">Siminor</option>
<option value="telcoma">Telcoma</option>
</select>
<label for="tasti">Numero dei tasti:</label>
<input type="range" name="numero_tasti" class="ricerca-prodotti-input" list="tasti_list" step="1" min="0" max="4">
<datalist id="tasti_list">
<option>-</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</datalist>
<label>Colore tasti</label>
<select name="colore_tasti" class="ricerca-prodotti-input">
<option value="-">---</option>
<option value="rosso">Rosso</option>
<option value="nero">Nero</option>
<option value="bianco">Bianco</option>
<option value="arancio">Arancio</option>
<option value="grigio">Grigio</option>
</select>
</form>
<h2>Risultati ricerca:</h2>
<div id="risultati-ricerca"></div>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
function mostra_risultati(risultati) {
var container = $('#risultati-ricerca');
container.empty();
for (var i = 0; i < risultati.length; ++i) {
var risultato = risultati[i];
$('<div>').html(risultato.modello).appendTo(container);
}
if (risultati.length == 0) {
container.append($('<p>Nessun risultato trovato</p>'));
}
}
$('.ricerca-prodotti-input').change(function () {
var form = $('#ricerca-prodotti');
$.get('motore-ricerca.php', form.serialize(), function (risultati) {
mostra_risultati(risultati);
});
});
function mostra_risultati(risultati) {
var container = $('#risultati-ricerca');
container.empty();
if (risultati.length == 0) {
container.append($('<p>Nessun risultato trovato</p>'));
}
else {
container.append($('<p>Hai trovato ' + risultati.length + ' telecomandi.</p>'));
}
for (var i = 0; i < risultati.length; ++i) {
var risultato = risultati[i];
$('<div>').html(risultato.modello).appendTo(container);
}
}
</script>
... e funziona...
Cosa mi stona nel tuo codice?
Questa linea... pur non capendola appieno.
Codice:
var result_container = $('<div>');