Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- gban: Ingyen kellene, de tegnapra
- Brogyi: CTEK akkumulátor töltő és másolatai
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Geri Bátyó: Samsung T7 1TB külső SSD
- Sapphi: StremHU | Source – Self-hostolható Stremio addon magyar trackerekhez
Ú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
- Eladó egy Sony HT-DDW750 5.1 házimozi rendszer megbizható, hibáktól mentes állapotban + Pio S-11A-P
- Megvigyázott ASUS TUF RTX 3070 OC, dobozzal, garival
- Szép, dobozos MSI PRO Z790-S WIFI PCIe gen5 garival
- Dobozos Aorus B650 AORUS ELITE AX V2, újszerű, garanciával
- Dobozos új MSI B650 GAMING PLUS WIFI 6E antennával, io shielddel, garanciával
- Samsung Galaxy S25 Edge Titanium Jetblack 12/256 GB Használt, karcmentes 6 hónap garancia
- Apple iPhone 13 Mini 128GB,Újszerű,Dobozával,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÚJ MSI CYBORG 15 A13VF - 15.6"FHD 144Hz - i5-13420H - 16GB - 512GB - Win11 - RTX 4060 -3 év garancia
- Bomba ár! Dell Latitude 5520 - i5-11GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gari
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Szóval most igazából elkövetted pont azt a hibát, amiről a korábbiakban beszélgettünk. 
