Hirdetés
- Minőségi ugrást hozhat a One új médiaboxa?
- Olcsón hozhatod ki a maximumot régebbi Intel CPU-kból
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Képernyős trükkök növelik a notebookok üzemidejét
- Hogy mi van? A TikTok lett az Xbox ellenfele?
- SSD kibeszélő
- Bambu Lab 3D nyomtatók
- Soundbar, soundplate, hangprojektor
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
Ú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
- exHWSW - Értünk mindenhez IS
- Minőségi ugrást hozhat a One új médiaboxa?
- New World - az új Amazon MMORPG
- Gumi és felni topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Xbox tulajok OFF topicja
- RETRO beárazás (mobil, PC, konzol)
- Olcsón hozhatod ki a maximumot régebbi Intel CPU-kból
- Arc Raiders
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- Sapphire Pulse 6800XT 16Gb Kitűnő! Ingyen posta!
- Cisco Telepresence MX300 G2 - 55" Interaktiv Monitor - Konferencia rendszer
- 70" Interkativ Érintőképernyős Monitor / All In one PC - InFocus INF7021A Multi Touch
- Microsoft Surface Hub (v1) 1597 - 55" All in One PC - Érintőképernyős monitor
- Dell PowerSwitch N2048 48 Port Gigabit Ethernet 2 Port 10Gb SFP+ Switch
- HIBÁTLAN iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3408
- HIBÁTLAN iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3441, 92% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GeForce RTX 2060 (OEM HP) Garanciával
- Új Asus 16 Vivobook WUXGA IPS Nano Ryzen5 7430U 4.3Ghz 16GB 512GB SSD Radeon RX Vega7 Win11 Garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
Szóval most igazából elkövetted pont azt a hibát, amiről a korábbiakban beszélgettünk. 

