Sortare crescator /descrescator dupa valoare din Select list
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
patricia
- Mesaje: 82
Sortare crescator /descrescator dupa valoare din Select list
Buna,
Am incercat un script: in pagina sunt mai multe imagini, sub fiecare imagine exista un div al carui continut este pretul produsului afisat in imagine.
Prin intermediul unei liste de selectie doresc ca la selectarea valorilor crescator sau descrescator sa se schimbe continutul acelor etichete DIV si al imaginilor, valorile fiind preluate din doi Array.
Am incercat scriptul acesta, dar nu functioneaza, trebuie sa procedez altfel?
Cod: Selectaţi tot
<form>
<select name="sortare" onchange="sorteaza();">
<option value="crescator">crescator</option>
<option value="descrescator">descrescator</option>
</select>
</form>
<img src="img1.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">120RON</div><br><br><br>
<img src="img3.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">100RON</div><br><br><br>
<img src="img4.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">90RON</div><br><br><br>
<img src="img5.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">60RON</div><br><br><br>
<script type="text/javascript">
function sorteaza(){
preturi=['60RON','90RON','100RON','120RON'];
imagini=['img1.jpg','img3.jpg','img4.jpg','img5.jpg'];
if(document.forms[0].sortare.selectedIndex==0){
aux2=null;
aux2=document.getElementsByTagName('div');
for(var i=0;i<aux2.length;i++){
aux2[i].innerHTML=preturi[i];
document.images[i].src=imagini[i];
}}
else{
aux2=null;
aux2=document.getElementsByTagName('div');
for(var i>aux2.length;i=0;i--){
aux2[i].innerHTML=preturi[i];
document.images[i].src=imagini[i];
}}
}
</script>
MarPlo
Mesaje: 4343
Buna,
In script-ul dat de tine e gresala de sintaxa la:
for(var i>aux2.length;i=0;i--)
Corect vine asa:
- Daca ai folosi browser-ul Firefox cu addon-ul Firebug, ti-ar descoperi aceste greseli.
Plus greseli de logica, in acele Array nu ai elemente cu index de ordine (i) mai mari decat:
aux2.length . Ar merge asa:
Sau poti incearca varianta asta:
Cod: Selectaţi tot
<form>
<select name="sortare" onchange="sorteaza(this.value);">
<option value="crescator">crescator</option>
<option value="descrescator">descrescator</option>
</select>
</form>
<img src="img1.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">120RON</div><br><br><br>
<img src="img3.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">100RON</div><br><br><br>
<img src="img4.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">90RON</div><br><br><br>
<img src="img5.jpg" width="200" height="200"><br>
<div class="pret" style="background-color:red;color:white;font-width:bold;font-size:30px;">60RON</div><br><br><br>
<script type="text/javascript">
function sorteaza(val){
var preturi = ['60RON','90RON','100RON','120RON'];
var imagini = ['img1.jpg','img3.jpg','img4.jpg','img5.jpg'];
var aux2 = document.getElementsByTagName('div');
var nr_aux2 = aux2.length;
for(var i=0; i<nr_aux2; i++){
var ixadd = (val == 'crescator') ? i : nr_aux2 - i - 1;
aux2[i].innerHTML = preturi[ixadd];
document.images[i].src = imagini[ixadd];
}
}
</script>
Subiecte similare
-
Select dupa mai multe coloane in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
am si eu o baza de date zona_geografica in care am rubricile
id |nume_tara |nume_oras |id_tara |id_oras | nume_zona | id_zona | data
1 |...
Ultimul mesaj
Multumesc mult pentru ajutor .
-
Inversare cheie cu valoare in obiect JS
JavaScript - jQuery - Ajax
Primul mesaj
Nu imi dau seama cum pot schimba urmatorul obiect in JavaScript:
{ first : , second : , third : }
In acesta:
{ de : , ab : }
Vreau să...
Ultimul mesaj
Trebuie să parcurgi array-urile și pentru fiecare element din array verifici dacă există sau nu un array pentru acea valoare în acumulator înainte de...
-
Convertire 8-biți număr în valoare de culoare Hex în JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Încerc să convertesc un număr întreg de 8-biți în valoare de culoare Hex. (de ex. FFFFFF).
Numarul de culoare pe 8-biți este generat cu următoarea...
Ultimul mesaj
Dacă ai un număr întreg, poți face cu:
color.toString(16)
Și îl va transforma într-un șir Hex.
// White
color = (255 * 65536) + (255 *...
-
mysql Update dupa nume
PHP - MySQL - XML
Primul mesaj
Salutari,
Incerc de ceva timp sa fac sa imi salveze informatiile jucatorului in baza de date, o data inserate vreau atunci cand gaseste din nou...
Ultimul mesaj
Cand se creaza tabelul in baza de date, coloana nickname trebuie sa fie de tip UNIQUE KEY .
Iar id-ul ar trebui sa fie o valoare care sa nu o mai...
-
După Lună, China se îndreaptă spre Marte
Stiri Deosebite
După ce a cucerit Luna, China se îndreaptă direct spre Marte.
<img style='width:99%' src='/forum/images/china_probe_rocket.webp' alt='China...
-
Setare valori din array in select tag
JavaScript - jQuery - Ajax
Primul mesaj
Salut am un array cu orele de functionare
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Ultimul mesaj
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:...