2024. június 26., szerda

Gyorskeresés

Designos selectbox -> hagyja a JQueryt masra, prototypeot hasznaljon "forrasban":)

Írta: | Kulcsszavak: jquery . prototype

[ ÚJ BEJEGYZÉS ]

Ez az eset ugy esett, hogy tildynek tele lett a nemletezo testresze a webprogramozassal. Na jo, nem teljesen, de majdnem.
Keszitettem egy selectboxot , ami szep, csilivili, kb olyan, mint a ph fejleceben a lenyilo boxocskak.

<script type="text/javascript">
$(document).ready(function() {


$('#resultsperpagetop').selectbox({
inputClass: 'selectbox1'
});

$('#categoryselect').selectbox({
inputClass: 'selectbox1'
});

$('#resultsperpagebottom').selectbox({
inputClass: 'selectbox1'
});
});

</script>


<select id="resultsperpagetop" name="resultsperpagetop" onchange="window.location=this[this.selectedIndex].value;">
<option value="/category/~category_id=10112/~VIEW_SIZE=12" selected>12 results per page</option>
<option value="/category/~category_id=10112/~VIEW_SIZE=16">16 results per page</option>
<option value="/category/~category_id=10112/~VIEW_SIZE=20">20 results per page</option>
<option value="/category/~category_id=10112/~VIEW_SIZE=24">24 results per page</option>
</select>

Nos a designolast js vegezte, hat persze, hogy nem tudta lekezelni, ha a valueban alahuzas van...
Oke, alahuzas kidobva, oldjuk meg mashogy :

<script type="text/javascript">
$(document).ready(function() {


$('#resultsperpagetop').selectbox({
inputClass: 'selectbox1'
});

$('#categoryselect').selectbox({
inputClass: 'selectbox1'
});

$('#resultsperpagebottom').selectbox({
inputClass: 'selectbox1'
});


$('#resultsperpagetop').change(function(){
document.location ='/category/~category_id=${productCategoryId}/~VIEW_SIZE='+$('#resultsperpagetop').val()+'';
});


$('#resultsperpagebottom').change(function(){
document.location ='/category/~category_id=${productCategoryId}/~VIEW_SIZE='+$('#resultsperpagebottom').val()+'';
});

});

</script>
<select id="resultsperpagetop" name="resultsperpagetop" >
<option value="12" selected>12 results per page</option>
<option value="16">16 results per page</option>
<option value="20">20 results per page</option>
<option value="24">24 results per page</option>
</select>

Orulunk Vincent? Orulunk am, vegre mukodik: tanulsag, alulvonast ne hasznalj valueban....

Vagy csak orulnenk. Kiderul Jquery osszeakad prototypeal (tudom, noconflict) , ugyhogy egyalatalan ne pakoljak jqueryt az oldalba, mert meg igy is elrontja az egyik fo aloldalt.

Tanulsag? Tanulsag az, hogy ket napja keresem a megoldast a problemamra, mert vagy a designos selectbox mukodik, es akkor az onchange event nem ( talaltam egy kodot hozza) , vagy az onchange mukodik, de a designos selectbox nem.

Szoval aki tudja, sima JS-nel hogy adok at onchanget, netan azt, hogy ez mukodjon akkor is, ha az a selectbox designos (prototype, scriptacolousal mehet) , nos az ne habozzon okitani engem. Nem szegyen a nemtudas, de hasznos ha az ember ezaltal tanulhat valami ujat :)

Neha tudom utalni a munkam. Ilyenkor pl. De ez nagyon ritka.

Hozzászólások

(#1) Peter Kiss


Peter Kiss
senior tag
LOGOUT blog (1)

Nem tudom, mi a pontos cél, de az aláhúzásokat kicserélheted valami másra, aztán JS-tel mikor onchange van, visszaalakítod.

[ Szerkesztve ]

(#2) tildy válasza Peter Kiss (#1) üzenetére


tildy
nagyúr

Az alahuzas mar meglett javitva ( masodik kodreszlet) . Utana derult ki, hogy dobhatoma kukaba az egeszet, mert nem hasznalhatok Jqueryt. Csak prototypeot.

Ugyhogy most arra keresek megoldast .

"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain

(#3) bitblueduck


bitblueduck
senior tag

Nem értek js-hez, de van ez a sor:

document.location ='/category/~category_id=${productCategoryId}/~VIEW_SIZE='+$('#resultsperpagetop').val()+';

Itt mintha a ${productCategoryId} stringként lenne, ezt valami helyettesíti majd értékre? meg a vége nyitott stringre végződik látszólag. Elnézést, ha hülyeségeket beszélek.

An open mind is like a fortress with its gates unbarred and unguarded.

(#4) tildy válasza bitblueduck (#3) üzenetére


tildy
nagyúr

Nem nem, veletlenul lemaradt, otnnet kivettem egy szoveget, amivel a renszer azonosithato lett volna, sikerult levennem a '-t. Mindegy, az a megoldas MUKODOKEPES , ha az ember hasznalhat jqueryt.

Egyebkent ja, az $valtozo ott helyetessitve vagyon...

"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain

(#5) Peter Kiss válasza tildy (#2) üzenetére


Peter Kiss
senior tag
LOGOUT blog (1)

Még az első kódnál tartok, mert azt mondtad, nem használhatsz jQuery-t. Ott simán el lehet intézni a cserét, mielőtt a kiválasztott értékét átadod helynek.

<form>-nak onchange eseménye nem lenne jó?

(#6) tildy válasza Peter Kiss (#5) üzenetére


tildy
nagyúr

Elso is hasznal jqueryt, mivel a designolas jquery kod csinalta, csak elfelejtettem odarakni a scrptet.
ettol fuggetlenul nem kuldte at a masik oldalra. js script itt:
[link]

Irta is egy srac:
I noticed in a previous release, other folks had mentioned that option values with an underscore (‘_’) in them do not work with this plugin. It still has not been fixed. Any ideas on how to fix this?

Thanks,

-Chris

Oke megoldottam mashogy, kivettem az alahuzasos valuet a selectbol, mert ha benen van, akkor nem mukodik ( ha designos a selectbo. Egyebkent js nelkul megy) )
Ha megnezed onchanget hasznalok.

[ Szerkesztve ]

"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain

(#7) Peter Kiss válasza tildy (#6) üzenetére


Peter Kiss
senior tag
LOGOUT blog (1)

Nem tudom, nézted-e a PH! kódjában azt a kis lenyíló valamit, de az nem <select>-tel van csinálva. A <select>-et azért nehéz formázni, mert távol áll a többi, böngészőben működő (vagy hogy mondjam) elemtől (mint ahogyan a fájlfeltöltés is).
Néztem ezt a csili-vili varázsló programot, túl sok probléma van vele, hogy érdemes legyen használni.

Próbálkozás:
<form id="valami" action="brucewillis">
<select id="resultsperpagetop" name="resultsperpagetop" >
<option value="12" selected>12 results per page</option>
<option value="16">16 results per page</option>
<option value="20">20 results per page</option>
<option value="24">24 results per page</option>
</select>
</form>

És ehhez JS:

var form = document,getElementById('valami');

form.onchange = function() {
window.location = '/category/~category_id=${productCategoryId}/~VIEW_SIZE=' + this.elements['resultsperpagetop'].value;
return false; };

Most már teljesen összezavarodtam, mi is kell neked. :DDD

[ Szerkesztve ]

(#8) tildy válasza Peter Kiss (#7) üzenetére


tildy
nagyúr

A ph-s is selectoxos, csak egy js átírja.

Tök egyszerű mi kell nekem. Designos selectbox, onchange eventtel. Mindkettő működjön, onchange event is, meg a a designos selectbox is.
A tied azért nem jó, mert csak egy normál mezei selectbox lesz , amihez még js sem nagyon kéne ( onchange is elég) )

"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain

(#9) Peter Kiss válasza tildy (#8) üzenetére


Peter Kiss
senior tag
LOGOUT blog (1)

Tehát ha használod ezt a csicsázós valamit, teljesen lehal az onchange. (Szerintem a <form>-hoz kötöttnek működnie kell. És nem írunk onchange-t és hasonlókat HTML kódba. :P )

Van neki "onChangeCallback: myfunction," része, ezt nem próbáltad még használni?

Rákérdeztem nálam okosabbaknál, milyen megoldás van a formázáshoz, ha jön válasz, megírom.

(#10) Coyot


Coyot
őstag

Az ilyenek miatt használok csak jQuery-t :)

Má' nem

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.