- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- koxx: Bloons TD5 - Tower Defense játék
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- HThomas: Az ideális home office monitor nyomában
- Geri Bátyó: Agglegénykonyha 1 – rizseshús másképp
- Imilenni: Egy kis depi, remélem elfér itt :) 2#
- Mister_X: Tényleg le kell nyelnie az embernek az önbecsülését?
- eBay-es kütyük kis pénzért
Új hozzászólás Aktív témák
-
biker
nagyúr
válasz
Sk8erPeter #3014 üzenetére
Egyébként a PHP-kód vonatkozó részénél, amikor macskakaparásos idézőjelet kell használnod egy stringben, szerintem nyugodtan kihasználhatnád, hogy a stringeket aposztróffal is írhatod, és úgy nincs változó-behelyettesítés sem, így nem kell escape-elni az idézőjelet sem, tehát:
Megfogadható... a " " jelet használni annyiból kedvezőbb nekem, hogy egy $valami behelyettesítéséhez nem kell azonnal '.$valami'. írni, mint ' ' esetén, de ebből a szempontból teljesen érthető
Na, szóval a kód érdemi részére rátérve:
- Eleve rossz, hogy PHP-vel generálsz komplett JS-kódot, mert ott biztos, hogy valami koncepcionális hiba van, és lehetne sokkal általánosabban.
- Ha már ilyen megoldást választottál, és generálsz mindent, miért drótozod be az elemek számát a ciklusban? Lásd $i<16 --> miért pont 16? Miért nem egy változó van ott? Ha egyébként JS-kódbeli ciklusban szerepelne, az is rossz lenne, mert itt egy ismeretlen nagyságú valaminek a kalkulált hossza kellene, hogy szerepeljen, nem egy konkrét, bedrótozott szám. Ha valami be van drótozva, akkor ott gondolkodni kell, hogy miért is van az ott bedrótozva.Szóval most igazából elkövetted pont azt a hibát, amiről a korábbiakban beszélgettünk.
Van 15 input type=text mező, termek_ean_1, termek_ean_2 ..... termek_ean_15
Ha az ezek akármelyikébe beírt eseményt akarom figyelni, akkor kell egy onChange(#termek_ean1).... 15-ig esemény nem? Akkor 15x ki kell írni, vagy van rá jobb megoldás, hogy tudjam, a mondjuk 8-as mezőbe épp beírtak valamit, és ha igen, akkor írjunk ki valamit a lapra?
Ha van, mi az?- Minden egyes termékazonosítóhoz legenerálsz egy-egy külön anonim event handlert. Minek?
Nem, a beviteli mezőkhöz írok ilyet, a termék azonosítók (2-300 vonalkód) a tömbben vannak, amiknek a key/value párját keresem a onChange eseményre
Meg lehetne oldani az egészet class-szal (class-okkal), és mindegyikhez egy darab általános event handler tartozhatna. A kódod semmi olyat nem tartalmaz, amit ne lehetne egy ilyen eseménykezelővel megoldani.
Meg amúgy a kimeneti, legenerált JS-kódod tele lesz var value1, var value2, ... var value15 jellegű változókkal, ami gondolom nem kell mondani, hogy igen csúf.
(Amúgy még így pluszban nem tudom, mennyire jó ötlet, hogy mindig hozzáfűzögeted a #bufe_uzenet elem tartalmához az aktuálisan becsippantott kódot. Érdekel valakit az előző akárhány becsippantott elem?Igen, érdekli. Így kérte...
Mert ha igen, akkor is talán mehetne egy kinyitható, logolós részbe, mert így ránézésre zavaró lehet, hogy nem egyértelmű, az adott pillanatban mit csippantott be valaki.)
Te hogy oldanád meg, hogy van mondjuk 100 terméked egy lapon (de ide most csak 5-öt teszek be, ne floodoljam szét
var termek_jq = {"5999076200337" : "AAKG Shock Extreme narancs 25 ml: 210Ft / db " , "4005906404569" : "Active O2 áfonya: 550Ft / db " , "4005906005582" : "Active O2 alma: 550Ft / db " , "4005906404545" : "Active O2 alma-kiwi: 550Ft / db " , "4005906005032" : "Active O2 citrom: 550Ft / db " , "4005906004752" : "Active O2 maracuja-alma: 550Ft / db " };És van mondjuk 15db input meződ, ahova a vonalkódokat csipogtathatja (azért nem egy mező, mert termékenként a darabszámot is meg kell adni, és a termékenkénti kedvezmény beütése is kérve vagyon, így soronként van egy termek_ean, egy termek_db és egy termek_kedv mező, ezeket mind egy tömbbe gyúrva adom át posttal.
Tehát akármelyik mezőbe írsz be valamit, keresse meg ebben a tömbben a párját, és írja ki a szöveget
A php ciklus pont amúgy ezt generálja le,
var value1 = $("#termek_ean_1").val();
$("#termek_ean_1").change(function(){
var value1 = $(this).val();
$('#bufe_uzenet').append("<p>" + termek_jq[value1] + "</p>");
});var value2 = $("#termek_ean_2").val();
$("#termek_ean_2").change(function(){
var value2 = $(this).val();
$('#bufe_uzenet').append("<p>" + termek_jq[value2] + "</p>");
});var value3 = $("#termek_ean_3").val();
$("#termek_ean_3").change(function(){
var value3 = $(this).val();
$('#bufe_uzenet').append("<p>" + termek_jq[value3] + "</p>");
});var value4 = $("#termek_ean_4").val();
$("#termek_ean_4").change(function(){
...........Na egy ilyet hogy lehet akkor szebben, olvashatóbban megírni, azon kívül, hogy a 15 elem kérdést kirakom külön változóba, hogy átírhassam bármikor 35-re mondjuk
Új hozzászólás Aktív témák
- Soundbar, soundplate, hangprojektor
- Garmin Forerunner 165 - alapozó edzés
- PlayStation 5
- iPhone topik
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- Bittorrent topik
- Kerékpárosok, bringások ide!
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Suzuki topik
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Apple MacBook Pro Touch Bar(13-inch, M1, 2020)- 181 Ciklus - 96% Akku -8GB/256GB SSD - Ezüst -MAGYAR
- Razer Blade 15 Advanced (2019) Rtx 2080 OLED Touch 4K - újszerű
- szinte új 14 hüvelykes MacBook Pro M4 512GB SSD space black asztrofekete Apple 3 év garancia
- Gigabyte H510M-H PC
- új bontatlan iPhone 16 Pro 128GB natural titanium natúr titán független Apple 1 év garancia
- HIBÁTLAN iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3287
- 8 GB-os Quadro RTX 4000 kártyák - garanciával
- Dell Precision 5540 i7-9850H 16GB 512GB Nvidia Quadro T1000 15.6" FHD 1 év garancia
- BESZÁMÍTÁS! 6TB Western Digital WD RED SATA HDD meghajtó garanciával hibátlan működéssel
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / GTX 1080 8GB / 32GB DDR4 / 512 SSD!
Állásajánlatok
Cég: FOTC
Város: Budapest