ugrás a tartalomhoz

lenyilo lista kerdes

lacaaa · 2011. Feb. 21. (H), 08.34
Sziasztok lenne egy olyan kerdesem hogy csinaltam egy oldara egy olyan lapozast hogy lenyilo listabol valasza ki a felhasznalo az oldalt amire szeretne lepni es mikor kivalassza a listabol mondjuk a 2 oldalt es atlepett a 2 oldalra a lenyilo listaba az ertek viszavalt automatikusan az 1 oldalra. Azt szeretnem megoldani hogyha atlapozok a 2 oldlara kkor a listaba az ertek 2 maradjon a lapozas utan is.

Hogyan lehetne megoldani jquery vel vagy javascript el hogy ez igy mukodjon esteleg php vel lenne egyszerubb lekezelni?

Az emlitett oldal php es jquery alltal hasznalt ajax hivasokkal mukodik.
 
1

PHP

Poetro · 2011. Feb. 21. (H), 10.29
Hát legszebben PHP-val lehetne megoldani, egyszerűen a megfelelő <option> elem selected attribútumát kell beállítani:
<select name="goto-url" id="goto-url">
  <option value="oldal1.html">Oldal 1</option>
  <option value="oldal2.html" selected="selected">Oldal 2</option>
  <option value="oldal3.html">Oldal 3</option>
</select>
JavaScript-tel:
jQuery(function ($) {
  var select = $('#goto-url'),
      slash = /^\//g,
      pathname = window.location.pathname.replace(slash, '');
  select.find('option').each(function () {
    var option = $(this);
    this.selected = option.attr('value').replace(slash, '') === pathname;
    if (this.selected) {
      option.attr('selected', 'selected');
    }
    else {
      option.removeAttr('selected');
    }
  });
});
Fontos, hogy az egyszerűség kedvéért a pathname tulajdonságot használtam, ami nem tartalmazza például a query string-et sem. Amennyiben az is kell, illetve például a hash nem, akkor még bonyolultabb lesz az ellenőrzés. És fontos, hogy ez csak akkor működik ha van JavaScript támogatás, míg a PHP-s megoldás akkor is, ha nincs.