- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- Mr Dini: Mindent a StreamSharkról!
- Argos: Az vagy, amit megeszel
- sh4d0w: Árnyékos sarok
- MaxxDamage: Vizes Laptop Hűtés? Lehetséges? Igen!
- Magga: PLEX: multimédia az egész lakásban
- Brogyi: CTEK akkumulátor töltő és másolatai
Új hozzászólás Aktív témák
-
Muton
addikt
válasz
Sk8erPeter #2399 üzenetére
igen, lehet több. mert egy elem több listában is szerepelhet és hol ezt töltöm be, hol azt, persze nem egyszerre.
kidumpoltam az e.target-et és kipróbáltam néhány adattagot. mindegyik működik (e.target.className-et használom). kicsit furcsa, hogy akkor az e.target miért nem megy
átírom on-ra, hogy szebb legyen a dolog, és csökkenjen mindenki vérnyomása
-
Sk8erPeter
nagyúr
"át kellett volna írni live-osra "
Már elég sokszor el lett mondva, de a kedvedért még egyszer: a jQuery 1.7-es verziójától a .live() deprecated.
Ha nekem nem hiszel: http://api.jquery.com/live/.És akkor még egyszer, bár eggyel ezelőtti hsz.-emben már linkeltem:
http://api.jquery.com/on/Kódodból:
$('#' + id).click(function(e){
if(e.target === this) {
// saját cucc
}
});Hát elég érdekes, ha ilyen megoldást kell alkalmazni, mivel akkor ez azt mutatja, hogy a fogalomtáratok szerint (a "speckó környezetünkben") az adott id-jű elemből több is lehet...
Mint már többször, ismét sikerült egy elég érdekes kódot villantanod.
Azt amúgy elfelejtetted leírni, hogy mi lett végül a "megoldásod". -
Muton
addikt
válasz
Sk8erPeter #2397 üzenetére
Az volt a baj, hogy ha egy divben van egy másik div, és a külsőre rakok eseménykezelőt, azt a belső is fogja, de ha azt használom, hogy:$('#' + id).click(function(e){
if(e.target === this) {
// saját cucc
}
});akkor az megoldja.
De mivel dinamikusan generált ezért át kellett volna írni live-osra ($(classnév).live('click', function(e){...})), de az nem működött a speckó környezetünkben function(e)-vel, mert az e.target sohasem volt egyenlő this-szel.
De mint már sokszor, most is sikerült megoldani, mire válasz érkezett. Gyakran megjön az ihlet azáltal, hogy posztolom a problémát
-
Sk8erPeter
nagyúr
Nem véletlenül találták ki az .on()-t.
"az a baj, hogy nem tudom live-al vagy on-nal a doc.ready-be rakni, mert a generált tartalom divben div külön eseménykezelővel és ott nem megy a click(function (e) if e.target === this....), csak ha konkrét id-jű elemre kötöm, azért van a generáló fv-ben."
Ezt próbáld megfogalmazni értelmesebben. Az lejött, hogy spóroltál magadnak egy kis időt a csetjellegű esetleírással, de összességében mégsem spóroltál időt, mert úgyis vissza kellett kérdezni, hogy mit is akarsz emberi nyelven. -
Muton
addikt
válasz
trisztan94 #2395 üzenetére
abban a fv-ben, ahol a html-t generálom, az adott id-hoz csinálok hovert és click-et.
az a baj, hogy nem tudom live-al vagy on-nal a doc.ready-be rakni, mert a generált tartalom divben div külön eseménykezelővel és ott nem megy a click(function (e) if e.target === this....), csak ha konkrét id-jű elemre kötöm, azért van a generáló fv-ben.
teccikérteni?
-
Muton
addikt
válasz
trisztan94 #2393 üzenetére
egy fv generál le egy html kódot, majd appendeli az ősdiv-hez.
-
trisztan94
őstag
Inline adod hozza vagy kulso fajlbol?
Ha kulso fajlbol akkor nem fognak eltunni, de mivel nem talaljak a megadott diveket olyan mintha ott sem lennenek. (Na jo, nem teljesen, de nem fognak belepni a metodusba) ha jol tudom egy click esemeny jsben egy if fgv hardverszinten (ez nm biztos
)
-
Muton
addikt
Heló!
Ha egy divhez dinamikusan hozzáadok több másikat, amelyekre kötök saját eseménykezelőket (click, hover), majd az ősdivből empty()-vel eltávolítom az utólag hozzáadott diveket, akkor velük együtt megszűnnek az eseménykezelők is, vagy die()-al kell őket kilőni?
(mert az a gondom, hogy az kinullázott ősdivbe ha újra generálok tartalmat azonos id-vel, akkor az újra definiált eseménykezelők nem működnek)
-
Sk8erPeter
nagyúr
válasz
martonx #2389 üzenetére
Engem is érdekel a CSS-megoldás is, de a JavaScriptes dolog annyiból érdekelt volna picit még jobban, hogy abból is tanulhattunk volna, hogy ott konkrétan mi volt a nyűg.
Azért kíváncsi lennék a konkrét okra a tippelgetéseken túl.
Van amúgy CSS topic, bár tény, hogy itt nem a trükkök vannak összegyűjtve.
-
martonx
veterán
válasz
trisztan94 #2386 üzenetére
Engem viszont érdekel a css-es megoldásod. Valahol csinálhatnánk egyébként egy CSS tricks gyűjtő oldalt.
-
Sk8erPeter
nagyúr
válasz
trisztan94 #2386 üzenetére
Hát jó, leírhatod, hogy oldottad meg.
Bár engem az eredeti probléma megoldása érdekelt volna, kipróbáltam volna azt a kódrészletet. Brühühühühüüüü! -
fordfairlane
veterán
válasz
trisztan94 #2386 üzenetére
Szerintem nem azzal volt a gond, hogy a display attribútum nem volt megfelelően beállítva. Ha egy elemet beraksz visibility attribútum nélkül, akkor a takarási sorrend a kódbeli sorrend lesz. Ezeket az elemeket viszont nem lehet szabadon pozicionálni.
Nekem az a gyanúm, hogy a jquery úgy animálja az oldalelemeket, hogy először átkonvertálja őket pozicionálható elemekké, legalábbis azokban a böngészőkben, amelyek nem támogatják a css animációkat. Ennél a konverziónál történhet a z-index probléma megjelenése. Talán megoldást jelenthet az, hogy eleve absolute vagy relative pozicionált elemként teszed be a blokokat, és beállítod z index-szel a takarási sorrendet.
Sajnos nincs időm kipróbálni, én erre gondolok, hogy ez okozhatta a problémát.
-
trisztan94
őstag
válasz
Sk8erPeter #2385 üzenetére
Hat vegul martonx javaslata szerint oldottam meg, css animációkkal.
Elotte megprobaltam azert azt is amit te mondtal, eloszor a kepeknek adtam egy display: block tulajdonságot, ez nem hasznalt, utana beraktam oket egy-egy container div-be, azoknak is adtam display:blockot (meg meg sok mast), de nem volt jo egyikkel sem
Azert koszi!
Ha gondolod leirhatom, hogy vegul hogy oldottam meg
-
Sk8erPeter
nagyúr
válasz
trisztan94 #2379 üzenetére
Tudsz esetleg összerittyenteni egy jsFiddle-demót róla? Persze ne az eredeti dizájnnal, annak gondolom nem örülnének, csak valami tök leegyszerűsített hasonlóval. Engem legalábbis érdekelne, hogyan oldottad meg.
Ezenkívül azt látom, hogy magát az <img> taget mozgatod ide-oda, ami alapvetően ugye display: inline; tulajdonsággal rendelkezik, nem lehet-e esetleg, hogy ez így nem jó, és be kéne burkolni akár egy divvel, és magát a divet mozgatni. Legalábbis láttam hasonló anomáliákat ilyen esetekben, lehet, hogy konkrétan erre egyáltalán nem stimmel, amit feltételeztem, de egy kísérletezést megér. -
fordfairlane
veterán
válasz
trisztan94 #2383 üzenetére
Csak azért kérdezem, mert emlékeim szerint ha nem pozicionáltak az elemek (absolute, relative), és nincs ezáltal takarási sorrend beállítva, akkor eléggé véletlenszerű, hogy mikor melyik elem takarja el a másikat.
-
trisztan94
őstag
válasz
fordfairlane #2382 üzenetére
Nem voltak, de beállítva is ugyanaz a helyzet
-
fordfairlane
veterán
válasz
trisztan94 #2379 üzenetére
Viszont a kapcsolat menüpontra kattintva a kívánt bounce effect helyett valamiért mintha kapna egy nagyobb z-index értéket, vagy nem tudom...
A z-indexek be vannak állítva?
-
martonx
veterán
válasz
trisztan94 #2379 üzenetére
Felejtsd el a jquery-s animációkat. Oldd meg HTML5-ös css animációval. Igaz, hogy lesz pár lúzer, akinek a böngészője ezt nem fogja támogatni, ők animáció nélkül csak annyit fognak látni, hogy kint terem, meg alaphelyzetben terem a cucc.
-
trisztan94
őstag
Sziasztok!
jQueryUI Bounce effect problémám van.Így néz ki a html:
<div id="content">
<img id="card" src="img/card.jpg" alt="Kreaterv" />
<img id="main-image" src="img/main.png" alt="" />
</div>A content div az az a div amiben a fekete kép van, tehát már nem tartozik bele a felső és alsó fehér sáv.
A card.jpg a névjegykártya, a main.jpg pedig ami lefedi azt.css:
#content{
height:320px;
width:650px;
}
#main-image{
height:320px;
width:650px;
margin-top:-285px;
}
#card{
height: 250px;
margin-top:35px;
margin-left: -38px;
}js:
$('#kap').click(function() {
$('#card').effect("bounce", { direction:'left', times:3 }, 1200);
return false;
});
$('#card').mouseover(function() {
$(this).animate({
marginLeft: "-300px"
}, 500);
});
$('#card').mouseout(function() {
$(this).animate({
marginLeft: "-38px"
}, 500);
});a "kap" a kapcsolatok menüpont id-je.
Gondolom a videóból látni, hogy mi a probléma.. annyi, hogy mouseover-re szépen kianimálódik balra, mouseout-ra szépen vissza. Viszont a kapcsolat menüpontra kattintva a kívánt bounce effect helyett valamiért mintha kapna egy nagyobb z-index értéket, vagy nem tudom...
5let?
-
Sk8erPeter
nagyúr
válasz
spammer #2377 üzenetére
Hát akkor ha ilyet látsz stackoverflow-n, akkor azt szerkeszd valami értelmes kódra.
De a lényeg, hogy a szar változónevek használatát kerüld, az teljesen lényegtelen, hogy valaki hülyeséget prezentált, attól még neked nem kell azt követni...
Ráadásul az ilyen minimalizált változóneveket kicserélni mindenhol két kattintás.(#2376) martonx :
Igen, pontosan ezért nem értem, mégis mi a francért rövidítgetik emberek a kódjaikat. SEMMI nem szól emellett (lespórolt vele 2 percet összességében, hagyjuk már, később ránéz, aztán elb@sz 15, 30 vagy épp 123124987324 percet azzal, hogy rájöjjön, mit is csinál az a nyomorék változó/függvény/metódus), főleg nem az átláthatóság. -
spammer
veterán
válasz
Sk8erPeter #2375 üzenetére
és (#2372) Jim-Y
Köszi, megpróbálom.
Nem én találtam ki ezeket (én hülye vagyok js/jQueryhez), de stackoverflow-n meg egy rakás más helyen is ilyen kódokat lehet találni, én csak megpróbáltam felhasználni
-
martonx
veterán
válasz
Sk8erPeter #2375 üzenetére
Annyit tennék még hozzá, hogy a számítógépeknek teljesen lényegtelen, hogy milyen hosszú egy változó, vagy függvény név, azaz tényleg nincs minek visszatartania az egyszeri programozót a normális nevezéktan használatától. Pláne a mai intellisense-es világban még kiírnod se kell a neveket.
-
Sk8erPeter
nagyúr
válasz
spammer #2369 üzenetére
$('#loadmoreForm').submit(function () {
$.post($("#loadmoreForm").attr("action"),
$("#loadmoreForm").serialize(), function (html) {
$("#moreposts").hide().html(html).fadeIn();
});
return false;
});És most számold össze, hány aláhúzás van.
Összesen 3. Tehát 3 felesleges metódushívás. Egyrészt zaj a kódban, másrészt felesleges overhead.
Képletes példával élve gondolj bele, hogy mondjuk nincs otthon kalapácsod, mégis van 3 szöged, amit be kell verned. Át kell menned a szomszédhoz, hogy kölcsönkérd a kalapácsot, tételezzük fel, hogy minden egyes átmenésedkor készséggel ad is neked egy kalapácsot minden morgás nélkül. OK, beütöd az első szöget, elégedetten nyugtázod, milyen ügyes voltál, aztán visszaviszed a kalapácsot a szomszédnak. Ja, hoppá, van még kettő szög. Átmész a szomszédhoz, elkéred a kalapácsot, beütöd a következő szöget, megcsodálod, hogy sikerült beverni, és visszaviszed, megköszönöd szépen. Ja, de van még egy harmadik szöged is, azt is be kéne verni, na, akkor megint átmész, és kölcsönkéred a kalapácsot, bevered, visszaviszed.
Nem egyszerűbb egyszer elkérni azt a nyomorult kalapácsot, és magadnál tartani, amíg be nem vered mind a három szöget vele?A példa lehet, hogy nem a legjobb, de talán érzékletes - a 3 külön átmenés melós, fárasztod magad feleslegesen, meg még egy csomó pluszidő is elmegy vele: ez az overhead.
Általános programozási elv, hogy érdemes elkerülni az overheadet ott, ahol lehet (nyilván értelmes keretek közt, lásd pl. a szóban forgó esetet, ahol nagyon könnyen elkerülhető).
Ennek fényében átalakítva a kódodat:// itt a kalapács!
var $loadMoreForm = $('#loadmoreForm');
var $morePosts = $("#moreposts");$loadMoreForm.submit(function () {
$.post($loadMoreForm.attr("action"),
$loadMoreForm.serialize(), function (html) {
$morePosts.hide().html(html).fadeIn();
});
return false;
});A hibád okát pedig könnyen kiderítheted abból, hogy megnézed, mi megy el szerveroldalra, és mi az onnan kapott válasz.
Nyisd meg a böngésző fejlesztőpanelét (F12, vagy Operában Ctrl+Shift+I), és a Network (Chrome, Opera Dragonfly, khmm, IE10) vagy Net (Firebug) fülre kattints; itt tudod követni a kliens és szerver közti kommunikációt, kérést, választ, headereket, státuszkódokat, stb.(#2371):
"Próbáltam úgy, hogy hozzáadok egy ilyet:
$('<div>').appendTo('#moreposts').html(html);"
Ezzel pont szépen felülírod a korábbi tartalmat.Átalakítva:
$('#moreposts').append('<div>').append(html);de az ilyen rendkívül fantáziadús "html" és hasonló neveket kerüld el, egyrészt mert egyáltalán nem informatív (mondjuk egy serverResponseInHtml vagy hasonló már informatívabb lenne), ráadásul így kavarodást okoz a kódra ránézve, mivel a .html() egy metódus neve is...
Sokszor elmondom, de most is: inkább legyen hosszú egy változónév/függvénynév/metódusnév/..., mint hogy nulla információt közöljön az olvasóval. Nézd meg a Java, C# metódusait, sokszor jó rohadt hosszú nevük van, hiszen így kifejezi, mire is való az az adott metódus, és így már maga a kód is olvastatja magát, úgy, hogy még egy sor kommentárt nem írtál hozzá. -
Sk8erPeter
nagyúr
válasz
ahetaton #2368 üzenetére
Az eredeti probléma szép megoldására nem sikerült rájönni, hogy a Joomla ne erőltesse, hogy valamiért két jQuery-fájlt akar betölteni? (nem "behívni"
)
(Legalábbis engem szokott zavarni, ha valamit favágó módon oldok meg, még ha csak gyors tűzoltásként is.)
Most tulajdonképpen hogyan oldottad meg? "Erőszakkal" módosítottad a valahogyan a template-fájlokat, pluginek kódját? Vagy hogy? A Joomlát mondjuk nem ismerem, de biztos, hogy megoldható, hogy csak egyszer legyen include-olva a jQuery. Ami problémát szokott jelenteni, hogy bizonyos plugineknek bizonyos konkrét jQuery-verziókkal függősége van. De az mindenképp anomália, ha kétféle jQuery-fájlt is include-ol a Joomla. Tudni kéne azt is, hogy ez a QapTcha nevű plugin egy külön Joomla-komponensként lett telepítve, vagy pedig saját kóddal tákoltad bele. Ha saját kóddal, akkor az nem a Joomla felelőssége, hogy ne legyen kétszer include-olva a fájl. Ahhoz viszont látni kéne, mi volt elrontva a kódban. -
Sk8erPeter
nagyúr
válasz
Cathfaern #2359 üzenetére
Ja, hogy erre gondolsz, okés, igen, biztos, hogy sok bugfixet fog tartalmazni, bár én eddig inkább elsősorban a javított teljesítményoldaláról hallottam a dolognak, de itt olvashatók egyéb dolgok is:
http://www.chromium.org/blink/developer-faq#TOC-What-sorts-of-things-should-I-expect-from-Chrome-
"Implement the DOM in JS. This has the potential to make JavaScript DOM access dramatically faster, but will involve a very large re-write of WebKit’s DOM implementation. IE is already doing this and overall, this helps yield faster GC, and faster DOM bindings"
"Fix old bugs like plugins unloading when they're set to display:none.
Allow generated content to be selectable and copy-pasteable.
Rewrite event handling to be more consistent and have fewer bugs with focus, mouse up, clicks, etc.
Fire <iframe> unload events async to make removeChild faster."stb., most csak kiszedtem párat. Szóval biztos, hogy ezek mind hoznak változásokat, lásd például a kiemelt részt, gondolom ilyen jellegű fixálások is vannak a jQuery-ben (de nem hobbim nézegetni a jQuery kódját ilyen mélységekben
).
"Opera amúgy egy az egyben a Chrome féle webkitet használja (és fogja majd a Blinket), nem saját fejlesztés (mint pl. Safarinál)"
És hol mond ez ellent annak, amit korábban írtam? -
spammer
veterán
válasz
martonx #2370 üzenetére
Na a hibát javítottam, most már szépen betölti a cuccost, csak most még meg kellene oldanom, hogy ha újra rányomok a submitra, akkor ne törölje az előzőleg már betöltött tartalmat, hanem mindig újra és újra adja hozzá az előzőhöz. Most betölt 1 új bejegyzést, de ha rányomok a submitra, akkor betölti a következőt, de eltűnik az előző.
Próbáltam úgy, hogy hozzáadok egy ilyet:
$('<div>').appendTo('#moreposts').html(html);
Ezzel már 2 -t be tudok tölteni egymás után, de a harmadikra már csak simán megnyitja a php oldalt, ahelyett, hogy onnan töltene be tartalmat.
Guglizok, de nem tudom, hogy pontosan mit is kellene keresnem a megoldáshoz.
-
spammer
veterán
Van egy form, aminek a submitjára kattintva betölt plusz bejegyzéseket a már meglévők után.
$('#loadmoreForm').submit(function () {
$.post($("#loadmoreForm").attr("action"),
$("#loadmoreForm").serialize(), function(html) {
$("#moreposts").hide().html(html).fadeIn();
});
return false;
});A probléma az, hogy a #morepost divbe betölti az egész oldal head részét meg mindent szart újra, és szétcsúszik az egész oldal. Pedig a fájl, amiből beolvasná a plusz tartalmat már csak egyetlen nyomorult echo-zott szöveget tartalmaz, semmi mást. Nincs benne újra head tag meg semmi html kód, kizárólag az echozott szöveg.
szerk: a lényeg, hogy mit is szeretnék:
A postok alatt van egy üres #moreposts div és ebbe szeretnék page refresh nélkül újra betölteni néhányat. Majd ha újra kattintok a gombra, akkor megint néhányat és így tovább... Mint ahogy az sok millió oldalon látható, általában postoknál, kommenteknél. Persze nem lényeg, hogy formmal működjön, lehet link click function is, mindegy, csak most ez volt kéznél.
-
ahetaton
csendes tag
Sikerült megoldani. Joomlában PHP-ban is behívtam a jqueryt és minden máshonnan kiszedtem.
Köszönöm a segítséget. -
martonx
veterán
válasz
ahetaton #2365 üzenetére
Nem buherált, csak azt kellene elérned, hogy csak 1 jquery legyen használatban, és az az 1 is csak egyszer legyen behúzva.
Küldd el légyszi a 3 féle esetet tükröző html header állományt, hogy lássunk végre valami kódot is.1. eset: mindkét cucc a saját jquery-jét használja.
2. eset: mindkét cucc a captcha jquery-jét használja.
3. eset: mindkét cucc a slider jquery-jét használja. -
ahetaton
csendes tag
-
ahetaton
csendes tag
Mind a 2 használ jqueryt, a bannerslider meg a captcha is.
A captcha az imént feltöltöttet a slider ezt:
http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js?app=revolution_sliderPróbáltam ugyan arra irányítani őket, de a captcha csak a saját jquery.js-ével működik, de ha a sliderhez adom ezt a js-t akkor ugyan úgy akad.
Nem szeretném úgy finomítani, hogy csak az egyik hívódik meg, mert nekem mind a kettőre szükségem van.
Négy .js fájlt hív be a captcha amiből ha a jquery.js-t kiveszem (így természetesen nem működik a captcha), akkor a bannerslider működik. Ezért gondoltam, hogy valami van a jquery.js-el.Amit az interneten eddig találtam minden lehetőséget kipróbáltam, de vagy az egyik nem működik vagy a másik.Továbbá bonyolít a dolgokon, hogy CMS rendszerrel készítem az oldalt így még összetettebb a történet. :S
-
Jim-Y
veterán
válasz
ahetaton #2360 üzenetére
nem lehet, hogy összeakad a két kód? A slider meg a captcha? Úgy értem, hogy egy azon html elemre próbálná szerencsétlen meghívni ezt is, és azt is, aztán csak az egyik hívódik meg az elemre valami miatt?
Próbáldd úgy finomítani a kódot, hogy ha a Contact részre kattint az ember akkor CSAK a captcha (vagy amit akarsz) fusson le.Én szinte biztos vagyok benne, hogy nem a jqueryvel van a probléma, hanem a kódoddal...
-
ahetaton
csendes tag
válasz
ahetaton #2353 üzenetére
Sziasztok!
Továbbra is problémám van a jQuery összeakadással.
noconflict, $->jQuery csere, már minden volt amit csak kilehet próbálni, de semmi változás.
Nem tudom, hogy valamelyikőtök vágja-e annyira a jquery-t, vagy tudna e segíteni abban(már fordított módszerrel csinálom), hogy lecsupaszítani a behívott jquery.js fájlt.
Azt hiszem az 1.7.2-s verzió van használatban.Ezt a captchat használom: [link]
És csak azt a részt kéne bent hagyni a jquery fileban, amit a captcha használ.
Nem tudom, hogy van erre lehetőség, hátha nektek van ötletetek.
Köszönöm!
-
Cathfaern
nagyúr
válasz
Sk8erPeter #2358 üzenetére
Én erre gondolok: [link]. Opera (meg stabil chrome) még nem ezt használja. Ugyebár arra hivatkoztak a fejlesztők, hogy azért akarnak különvállni a webkittől, mert az túlzottan meg akarja tartani a régi dolgokat, és emiatt egyre nehezebb értelmesen fejleszteni. Jquery-sek meg végülis ugyancsak ilyen régi dolgokra hivatkoznak.
Opera amúgy egy az egyben a Chrome féle webkitet használja (és fogja majd a Blinket), nem saját fejlesztés (mint pl. Safarinál)Ja igen, én ezt kifejezetten csak a JQuery-s része írtam, a többi persze független ettől
-
Sk8erPeter
nagyúr
válasz
Cathfaern #2356 üzenetére
Itt most nem értettem az ok-okozati összefüggést, konkrétan mire gondolsz?
Azt nem tudom, a Chromium/Chrome mennyire mentes a problémák szőnyeg alá söprésétől ilyen szinten, de bőven lehet találkozni ott is érdekes bugokkal, tehát feltételezem, a forkolás önmagában nem mentett meg semmitől.Ja, most látom, az előbb elfelejtettem írni, hogy az Opera konkrétan a Chromium egyik változatát forkolta, pedig az elég lényeges, így a hasonlóság csöppet sem meglepő, de elvileg már dolgoznak rajta egy ideje, ezért reménykedtem benne, hogy többet sikerül kihozniuk a böngészőből ennyi idő alatt, de sajnos egyelőre a Chrome-hoz hasonlóan nem túlzottan konfigurálható, kevés érdemi, jó újítás van benne, cserébe kiszedték a könyvjelzőzhetőséget, helyettesítették egy teljesen degenerált funkcióval (ez itt OFF lenne, de elég gáz gondolatmenet).
Igazából az érdekes csak az volt, hogy a WebKit-böngészőmotor sokak számára az etalon, pedig tele van hibákkal, és kíváncsi voltam, mit szóltok hozzá.
Na meg egyszer valamelyik topicban szóba került ez a téma, és hasonlóról beszéltem korábban, hogy ez az ajánlásoktól/szabványoktól eltérés megint kezd visszatérni ezekkel a gyökér prefixekkel, meg konkrét böngészőmotorokra teszteléssel, ami a korábbi, IE által képviselthez hasonlóan nem a jó irány.
A topicba vágó rész csak az, hogy a jQuery mennyi bugfixet tartalmaz konkrétan a WebKit-motor hülyeségei miatt.
-
Cathfaern
nagyúr
válasz
Sk8erPeter #2355 üzenetére
Elvileg pont ezért forkolta a Google a webkitet és kezdte el fejleszteni a saját verzióját, nem?
-
Sk8erPeter
nagyúr
Csak érdekességként: az Opera most átáll a WebKitre, és a 15-ös változata (ld. Opera Next) egyelőre sajnos eléggé hasonló lett a Chrome-hoz (ergo egy kiherélt ...khmm... böngésző, amit csak extensionökkel lehet igazán használhatóvá tenni; természetesen nagy is a felháborodás az Opera power userek között, akik pont azért szerették a böngészőt, mert agyonkonfigurálható), és ennek kapcsán került az Opera topicba egy link, a jQuery egyik fejlesztője beszél kicsit negatívan a WebKitről (feltételezem, a 2.x változatok kapcsán):
https://blog.mozilla.org/gen/2013/02/14/tragedy-of-the-webkit-commons/
-->
http://blog.methvin.com/2013/02/tragedy-of-webkit-commons.html"jQuery Core has more lines of fixes and patches for WebKit than any other browser. In general these are not recent regressions, but long-standing problems that have yet to be addressed.
It’s starting to feel like oldIE all over again, but with a different set of excuses for why nothing can be fixed."
-
ahetaton
csendes tag
Sziasztok!
Az a problémám, hogy akad két Jquery.
Tökéletesen működik a banner sliderem, de amint a Contact menüpontra kattintok, ahol van egy jqueryt használó captcham, a slider nem töltődik be( a captcha működik).
Probáltam noconflictot, de nem használt.
Esestleg valami ötlet?2.5-s Joomlát használok.
Bannerslider: http://www.unitecms.net/joomla-extensions/unite-revolution-slider-responsive
Captcha: http://www.myjqueryplugins.com/jquery-plugin/qaptcha -
Sk8erPeter
nagyúr
válasz
fordfairlane #2351 üzenetére
Ezzel egyetértek. Ráadásul JavaScriptben pont rohadt egyszerű összehasonlítani a dátumokat (mondjuk Ti is ezt fejtegettétek).
(#2350) spammer : nincs mit.
De azért tényleg fontold meg, hogy jó-e neked a timestamp, mert sanszos, hogy túlbonyolítod. -
fordfairlane
veterán
válasz
Sk8erPeter #2349 üzenetére
lehet, hogy én értelmeztem rosszul, de sztem az elsődleges problémája az volt, hogy hogyan lehet egyáltalán kinyerni magát a timestampet a dátumválasztóból.
Egyrészt ez az adott plugintől függ, a doksijában nyilván le van írva az interfésze. Másrészt viszont ha az adott nyelv támogatja a dátumkezelést, akkor nem feltétlenül a timestamp a legcélszerűbb formátum a dátum aritmetikához.
-
spammer
veterán
válasz
Sk8erPeter #2349 üzenetére
Jól értetted, köszi
-
Sk8erPeter
nagyúr
válasz
spammer #2346 üzenetére
Sosem használtam még, de ott van egy egyértelmű doksi, az alapján nem volt túl nehéz kisajtolni a megoldást (lényegében copy-paste-eltem az eredeti oldalról, csak picit átalakítottam, meg egyértelművé tettem, hogy nem másodpercekben, hanem milliszekundumokban kell nézni a timestampet, csak hogy ne ez legyen a köv. kérdés
):
===
(#2347) martonx, (#2348) fordfairlane :
lehet, hogy én értelmeztem rosszul, de sztem az elsődleges problémája az volt, hogy hogyan lehet egyáltalán kinyerni magát a timestampet a dátumválasztóból. -
martonx
veterán
válasz
spammer #2346 üzenetére
Ha jól értem te simán kettő darab dátumot szeretnél összehasonlítani, és ha az egyik kisebb, mint a másik, akkor alert-ezni.
Nem mondod komolyan, hogy ezt itt most megkérdezted? Ráadásul ennek miköze a jquery-hez?if (date1 < date2) {
alert("Date1 kisebb, mint date2");
}Ezt akartad megkérdezni?
A jsfiddle példádban pedig olyan jó lett volna látni, legalább egy minimális próbálkozást a probléma megoldására.
-
spammer
veterán
jQuery szakik!
Egy ilyen datetime picker cuccos által input mezőbe beírt dátum/időpontból lehet valahogyan timestamp-et kinyerni/konvertálni vagy ilyesmi?
holnap itt: Any+ Time
fiddle példa itt: [link] (last line alert azért van csak, mert a készítő oldaláról van betöltve az external js és css, de lényegtelen).
Azért kellene, mert szeretném a kiválasztott dátum/időpont -ot egy megadott határidővel összehasonlítani, és ehhez gondolom a timestamp lenne egyszerű megoldás.
De ha valahogy jQuery-ben simán össze lehetne hasonlítani 2 dátumot a fiddle-nél is megadott formátum alapján, az is jó, a lényeg, hogy meg lehessen adni, hogy ha pl. a kiválasztott dátum 2 napon belül van, akkor kap egy alertet vagy valami.
-
Sk8erPeter
nagyúr
Most milyen stackoverflow-s megoldásról van szó?
A lényeg továbbra is:
úgy is működnie kell, hogy data: { "feladatKodok" : feladatKodok }, tömbszerűen kerül elküldésre, pont, ahogy kell.Azt meg egyáltalán nem értem, minek az :option pseudo-class, miért kell elé a kettőspont (ergo miért pseudo-class-szerűen használod), mivel nélküle jó. Mutasd meg kérlek, hogy hol találtál ilyen pseudo class-t, tényleg érdekel.
Mindenesetre hiba, akár elhiszed, akár nem.
Egyébként keresgéltem, hátha van olyan oldal, ami alátámasztja a használatodat, de nem találtam ilyetViszont ez egész jó összefoglaló pseudo-class-ekről, hátha szükséged lesz rá.
Hányas jQuery-t használod?
-
Lacces
őstag
válasz
Sk8erPeter #2342 üzenetére
Röviden:
Hát én úgy szoktam, hogy ha már legalább 3 Stackoverflow-os válaszban is láttok egy megoldást, akkor alkalmazom.
Igen, szoktam nézni és használni a Konzolt. És nálam ilyen hibát nem mutat
Nálam jó, nálam működik... Első dolgom a console, és már erősen a console.log()-ok használata, sokat segít
-
Sk8erPeter
nagyúr
"Hogyan lehet átadni tömböt a PHP-nak?"
Ez a kérdés kicsit ehhez a "más php-t hív le"-megfogalmazáshoz hasonlít, amiről itt volt szó, hogy finoman szólva nem túl jó megfogalmazás.
Nem a PHP-nak "adsz át" tömböt, hanem a szervernek elküldesz adatokat, aztán hogy a szerveren mi dolgozza fel, a lényeg szempontjából mindegy.Mi a frász az az :option pseudo-class?
Rákerestem, hivatalos honlapon sem találtam ilyet:
http://api.jquery.com/category/selectors/jquery-selector-extensions/
De most a kedvedért kipróbáltam, mert kíváncsi voltam, mit szól hozzá, kapom is az extensiont konzolon:
"Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: option"
szoktad nézni egyáltalán a konzolt, ha hibát kapsz? Hidd el, sok szarakodástól kímélhet meg...Szerintem először itt keresd a problémát.
-
Sk8erPeter
nagyúr
válasz
fordfairlane #2339 üzenetére
Dehogynem. A szerver hibátlanul megkapja az összes optiont, nem kell ilyen módon korrigálni, ahogy javasoltad (tehát elég úgy, hogy data: { "feladatKodok" : feladatKodok }, tömbszerűen kerül elküldésre a szervernek, ahogy Jim-Y is leírta a konkrét URL-t, abból jól látható). Amúgy nem kell ehhez WireShark, elég nézni a böngésző fejlesztőpanelét, hibátlanul mutatja ezeket a szükséges tudnivalókat...
(#2340) Lacces :
azt hogy csináltad, hogy az előbb nem kaptad meg szerveroldalon?Pedig anélkül is műxik a dolog trükközés nélkül.
-
Lacces
őstag
válasz
fordfairlane #2339 üzenetére
Igen, így már jó, átküldi az adatokat. Köszönöm mindkettőtöknek
-
fordfairlane
veterán
Ezek szerint nem csinálja meg. Tipikus PHP-s viselkedés ez, hogy az utolsó elem látszik csak a paraméternél, és ezt ezzel a fajta névkonvenció követésével lehet orvosolni. Meg lehet nézni valami http kommunikációt monitorozó alkalmazással, hogy pontosan mit is küld a böngésző.
-
Jim-Y
veterán
válasz
fordfairlane #2336 üzenetére
de ezt a böngésző megcsinálja helyetted automatikusan nem? legalábbis nálam automatikusan csinálja
(#2338) Lacces: Network -> server.php -> Headers -> Form Data alatt
Mint ahogy előttem is írták, nem feladatKodok-ként küldi el, hanem:ajaxVegrehajtas:uj
feladatKodok[]:1
feladatKodok[]:2
feladatKodok[]:3
feladatKodok[]:4
feladatKodok[]:5 -
fordfairlane
veterán
Ez a PHP sajátsága. Ha egy GET vagy POST adat többször szerepel, akkor az utolsó érték lesz érvényes. Csak akkor lesz belőle tömb, ha a paraméter neve '[]'-vel végződik. Ugyanígy kell csinálni pl. <select multiple> esetében is.
"feladatKodok" : feladatKodok
helyett
"feladatKodok[]" : feladatKodok
-
Jim-Y
veterán
A hiba a te készülékedben van, lehet, hogy a php kód a rossz, de inkább az, hogy nem határoztad meg az ajaxban a dataType-ot. Nekem így működik:
var feladatKodok = new Array(1,2,3,4,5);
$.ajax({
type: "POST",
url: "server.php",
dataType: "json",
data: {
ajaxVegrehajtas : "uj",
feladatKodok : feladatKodok
},
success : function(data){
console.log(data); // ["1","2","3","4","5"]
}
}); -
Lacces
őstag
Hali,
Hogyan lehet átadni tömböt a PHP-nak?
A jquery-ben a változó egy tömb, alert() függvénnyel szépen benne van az 5 elem vesszővel elválasztva, de a PHP mégis csak a tömb utolsó elemét kapja meg, a forráskód itt:
jsfiddle-n a forráskód.Nézegettem is a Stackoverflow-on is ezt láttam... Meg vannak nagyon nyaka-tekert megoldások, de még azok sem váltak benne.
-
martonx
veterán
válasz
fordfairlane #2330 üzenetére
jaja, ebben én is bízok, hogy az IE9 azelőtt kihal, mielőtt tényező lehetne. A 10-es meg valljuk be már élhetővé sikerült (már fejlesztői szemszögből nézve).
-
Sk8erPeter
nagyúr
-
martonx
veterán
válasz
Sk8erPeter #2325 üzenetére
HTML5 History API pedig erre gondoltam. Ez nincs benne az IE9-ben, pedig annyira alap? Rohadt Microsoft...
Remélem az IE9-ek még azelőtt fognak kikopni, hogy elterjedtek volna -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #2325 üzenetére
Most jövök rá, a window.location.replace() használatával az aktuális oldal URL-je nem mentődik a historyba, szóval a júzer a "Vissza" gombot nem is tudná ez esetben használni, így a címet össze kéne pakolni a location különböző attribútumaiból (window.location.href tartalmazza az aktuális hash-t is, ezt le kéne vágni; pedig window.location.origin, window.location.pathname, window.location.search trióból egyszerű lenne összepakolni az enélkülit, de az origin IE8-ban nem támogatott), majd inkább a window.location.assign()-t használni - újabb lekezelendő probléma, újabb kódsorok. Csak mondom, hogy összejön az szép lassan, ami miatt nem biztos, hogy érdemes tökölészni...
-
Sk8erPeter
nagyúr
válasz
trisztan94 #2324 üzenetére
Őszintén szólva még mindig nem fogtam fel, mi a probléma, ezt akár kliensoldalon, akár szerveroldalon akarod lekezelni, egyszerű if-else szerkezetek. Ha megvan az egyik feltétel, oké, ha nem, akkor nem oké, és visszaugrunk az elejére, a form bizonyos értékeit, attribútumait beállítjuk oda, ahonnan indultunk.
"Tehát azt mondom, hogy lementem #valami css-ét"
Ezt viszont végképp nem értettem. Miért akarsz Te CSS-t menteni?
Lehet, hogy nagyon éjszaka van, de az igazságot számomra már homály fedi. -
Sk8erPeter
nagyúr
válasz
martonx #2322 üzenetére
"Azért az megvan, hogy jquery plugin nélkül 1 soros javascript utasításokkal ugyanez elérhető?"
Jóindulatúan feltételezem, hogy nem a HTML5 History API-ra gondolsz.Ugyanis az csak Internet Explorer 10-től (!! nem is 9-től!) elérhető. Azért az meg nem mindegy, hogy még az IE9-et sem támogatom.
Szóval feltételezem, a window.location.replace() metódusra gondolsz, amivel valóban megoldható lenne elvileg - így első megközelítésként - még IE8-ban is a dolog, úgy, hogy a jelenlegi window.location.href-hez hozzáfűzöm a hashmarkkal ellátott query stringet; de az azért már NAGYON nem egy sor, hogy a form mindenféle típusú (nem csak text!) beviteli mezőin végigmenjek, lekérjem az értékeiket, és ezeket belefűzögessem egy query stringbe, aztán ezt hozzácsapjam a jelenlegi címhez, aztán még legyen egy hashchange event handlerem is még a popstate event handler MELLETT, ÉS a cím változásakor elintézzem azt is, hogy a form megfelelő mezői kitöltődjenek, ugyanis most nem az a cél, hogy szerveroldalon töltsem ki a formot (abszolút kliensoldali kód saját célra, ami mögé jelen esetben tökéletesen felesleges szerveroldali logikát rakni). Na, szóval még mindig újra fel kellene találnom a kereket?Mindezt a nem túl nagy méretű pluginek (1, 2) segítségével elintéztem nagyjából 5 sorból (na jó, lehet, hogy 8, mert külön sorban vannak a lezáró zárójelek
).
Szóval igazából nem mindig feleslegesek a libek, pluginek, természetesen küszködhetnék kompatibilitási problémákkal és különféle lekezelendő esetekkel (lásd a konkrét példámat), de elvileg pont ezek elkerülésére használjuk ezeket.
Félre ne értsd, szerintem már én is hangot adtam annak (vagy privátban beszéltük, már nem emlékszem), hogy nem vagyok híve a pluginek erőltetésének, amikor feleslegesek, de vannak esetek, amikor nem éri meg az a plusz befektetett energia (ami mondjuk a konkrét helyzetben nem 10 perc kódolást vesz igénybe, hanem többet, miközben más már megcsinálta helyettünk ugyanazt).
-
trisztan94
őstag
válasz
Sk8erPeter #2318 üzenetére
"Kliensoldalon is validálsz?"
Persze, validálok, csak kikapcsoltam, hogy teszteljem a szerveroldali validációt.
"Ezt viszont nem egészen értettem. Akkor miért nem szerveroldalon, szerveroldali kóddal (nem kliensoldalon machinálva) állítod be a megfelelő radiobuttont checked="checked"-re? Attól még el lehetne tüntetve CSS-sel. Itt igazából nem is értem, mit szeretnél."
Elég nehéz elmagyarázni.. A lényeg az, hogy ugye ha nem választott valamit ki a user, akkor kidobunk neki egy validation error-t. Tehát hogyha ő az első választást megtette, de a másodikat már nem, akkor form submit után amikor visszatölti a formot a validációval, akkor visszaáll az egész alapjára, tehát, hogy az első választási lehetőség látszik csak, így ha mondjuk nem vette észre, hogy ott van egy második választási lehetőség is, akkor fogja a fejét, hogy mi az isten van.
"Mik azok a "beanimált cuccok"? Miért nem mindegy, hogy submitolás után van, vagy submitolás előtt? A submitolás előtt konkrétan mikor, amikor felébredt reggel? De komolyra fordítva: épp a júzer választása az érdekes, nem? Gondolom nem akarod ignorálni, amit bekattintott. Csak azt nem értem, akkor azt miért nem kezeled le szerveroldalon, az az első lépés minden formvalidálásnál, -feldolgozásnál, utána jön csak mindenféle kliensoldali bűvészkedés."
Úgy értettem, hogy ugyanúgy jelenjenek meg submit után, mint ahogy azt a user submit előtt hagyta.
Így néznek a választási lehetőségek mezei, paint-es algoritmusban:Tehát, ha először igenre ment, de utána nem választott, akkor ugyanabban a formában kéne visszaadni a dolgot neki, mint ahogy volt submit előtt.. Tehát azt mondom, hogy lementem #valami css-ét, vagyis igazából az összes lehetőségét egy array-ben, aztán submit után összehasonlítom a jelenlegivel, ha nem egyezik akkor beállítom úgy, hogy egyezzen.. Na de hogy tudom lekezelni az újratöltést?!
#2321:
Hát én sehogy sem tudtam működésre bírni, már nem is kell.
Majd ha lesz egy másik ajaxos melóm meglesem! Danke
-
Speeedfire
félisten
válasz
Sk8erPeter #2320 üzenetére
Így már valóban megy, ott rontottam el, hogy nem csináltam meg ezt:
vm = new View(data); -
martonx
veterán
válasz
Sk8erPeter #2321 üzenetére
Azért az megvan, hogy jquery plugin nélkül 1 soros javascript utasításokkal ugyanez elérhető?
Mondjuk a history.js-t én is használom, anno éppen ez ébresztett rá, hogy tök feleslegesek ezek a libek, a mai HTML5-ös világban (HTML5 History API ugye, bár esetemben az IE8 nem mérvadó, így könnyen beszélek).
-
Sk8erPeter
nagyúr
válasz
trisztan94 #2183 üzenetére
Na, most pont olyasmire volt szükségem, amire a jQuery Address plugin pont jó, konkrétan hogy az URL frissüljön, amikor submitolok egy formot, természetesen lapújratöltés nélkül, és szerintem elég korrekt a plugin, pont azt csinálja, amit kell, igazából túl sok beállítást nem igényelt. Konkrétan kábé ennyi:
https://github.com/asual/jquery-address/blob/master/samples/form/index.html
persze a <pre> tagre vonatkozó részek nélkül. Szóval pár sorból jól működésre bírható.Azt mondjuk nem vágom, a hivatalos honlapot miért nem frissítik, a GitHubos oldal frissebb, ott már a jQuery 1.9-es verziójával is kompatibilis verzió van fent.
Na, szóval ha érdekel vele kapcsolatban valami, akkor kérdezz(etek).
Szerk.: ja, és ami korrekt, hogy IE8-cal is jól működik.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #2319 üzenetére
Nekem nagyon is tiszta volt, mit szeretnél. De azért linkeltem a tutorialokat, mert onnan simán ki lehet hámozni azt, amit szeretnél...
Most volt egy kis időm, megnéztem ezt az oldalt:
http://knockoutjs.com/examples/grid.htmlitt belinkelnek egy jsFiddle-példát:
http://jsfiddle.net/rniemeyer/QSRBR/na én ezt minimális átalakítással megcsináltam úgy, ahogy szeretnéd, tároltam egy változóba az objektumot, és így máris tudtam használni pl. az általam még odabiggyesztett addMyItem() metódust:
http://jsfiddle.net/QSRBR/3273/
nézd meg a kettő közti különbséget
Remélem, így már tiszta. -
Speeedfire
félisten
válasz
Sk8erPeter #2315 üzenetére
Látom nem tiszta mit is szeretnék.
Vagy nekem nem jön át, hogy te mit írsz.Adott egy model és egy ajax lekérdezés. Amikor az ajax végzett, akkor akarnám a model-t befrissíteni.
jsfiddle -
Sk8erPeter
nagyúr
válasz
trisztan94 #2317 üzenetére
"Na most erre kéne ugye egy szerver oldali validáció, hogy biztosan kiválasztotta-e, illetve validálja a többi form elemet is. Ha van valami gond akkor kiírjuk az üzit, de ahoz újratölti ugye az oldalt."
Kliensoldalon is validálsz? Az nyilvánvalóan nem váltja ki a szerveroldali validációt, de először kliensoldalon kéne kiszűrni a hibákat, hogy a felhasználónak ne kelljen várnia az újratöltésre, egyből az arcába kapja a figyelmeztetést, hogy ezt meg azt nem vagy rosszul töltötte ki. A form elküldhetnéd szerveroldalra AJAX-szal, ott IS validálnád, és akkor nem lenne lap-újratöltés, meg sokkal egyszerűbb lenne, mint cookie-kkal bűvészkedni."Na, ha pl ezekkel a radiobuttonokkal van valami problem, akkor nem jelenik meg az üzi, mert újratöltésnél visszaáll alaphelyzetbe, azaz csak az első választási lehetőség van megjelenítve."
Ezt viszont nem egészen értettem. Akkor miért nem szerveroldalon, szerveroldali kóddal (nem kliensoldalon machinálva) állítod be a megfelelő radiobuttont checked="checked"-re?Attól még el lehetne tüntetve CSS-sel. Itt igazából nem is értem, mit szeretnél.
"Csak azt nem sikerült megoldanom, hogy a beanimált cuccok ugyanúgy legyenek, mint mielőtt submitolta volna a formot"
Mik azok a "beanimált cuccok"? Miért nem mindegy, hogy submitolás után van, vagy submitolás előtt? A submitolás előtt konkrétan mikor, amikor felébredt reggel?De komolyra fordítva: épp a júzer választása az érdekes, nem? Gondolom nem akarod ignorálni, amit bekattintott. Csak azt nem értem, akkor azt miért nem kezeled le szerveroldalon, az az első lépés minden formvalidálásnál, -feldolgozásnál, utána jön csak mindenféle kliensoldali bűvészkedés.
-
trisztan94
őstag
Sziasztok!
Lehet valahogy eseménykezelőt kötni oldal újratöltésre? (refresh)Van egy bazi nagy formom azon pedig pár választós dolog ami animálódik .slideDown-nal.
Tehát ha ezt választja ki, akkor beanimálódik a második, ha ott választ valamit akkor a harmadik.. Na most erre kéne ugye egy szerver oldali validáció, hogy biztosan kiválasztotta-e, illetve validálja a többi form elemet is. Ha van valami gond akkor kiírjuk az üzit, de ahoz újratölti ugye az oldalt. Na, ha pl ezekkel a radiobuttonokkal van valami problem, akkor nem jelenik meg az üzi, mert újratöltésnél visszaáll alaphelyzetbe, azaz csak az első választási lehetőség van megjelenítve.
Na most erre én megoldást úgy gondoltam ki, hogy létrehozok cookie-kat a választási lehetőségre és egy fgv leelenőrzi újratöltéskor az értéküket és aszerint állítja a css tulajdonságukat.FGV:
function SnippetUploadReloadedWindow(PrivateSnippet, ExhangeableSnippet, PointCostSnippet) {
if (PrivateSnippet == "false") {
$('.isThisExchangeable').css('display', 'block');
}
if (ExhangeableSnippet == "true") {
$('.PointCost').css('display', 'block');
}
}Alapból ezeknek display:none a css tulajdonságuk.
Így néz ki a cookie kezelésem a jquery.cookie plugin segítségével:
$('#isThisPrivateYes').on('click', function () {
$('.isThisExchangeable').show(400);
$('.WhyYouShouldMakeItAvailable_container').hide(400);
$('.PointCost').hide(400);
$('#ExchangeableCodeSnippet').removeAttr('checked');
$('#notExchangeableCodeSnippet').attr('checked', 'checked');
$('#PointCost').val("0");
$.cookie('PrivateSnippet', "true");
});
$('#isThisPrivateNo').on('click', function () {
$('.WhyYouShouldMakeItAvailable_container').show(400);
$('.isThisExchangeable').hide(400);
$('.PointCost').hide(400);
$('#ExchangeableCodeSnippet').removeAttr('checked');
$('#notExchangeableCodeSnippet').removeAttr('checked');
$('#PointCost').val("0");
$.cookie('PrivateSnippet', "false");
//$.cookie('Exchageable', 'show');
});
$('#ExchangeableCodeSnippet').on('click', function () {
$('#PointCost').val("");
$('.PointCost').show(400);
$.cookie('Exchangeable', "true");
});
$('#notExchangeableCodeSnippet').on('click', function () {
$('#PointCost').val("0");
$('.PointCost').hide(400);
$.cookie('Exchangeable', "false");
});Ugye itt a PrivateSnippet az első ami megjelenik, ha ott arra megy a júzer, hogy nem privát, akkor megjelenik az ExchangeableSnippet, ha ott azt választja, hogy igen, akkor megjelenik a PointCost.
Na, és akkor submit után ha van valami validációs hiba szerveroldalon meg visszarakom a radiobutton értékeket.. Csak azt nem sikerült megoldanom, hogy a beanimált cuccok ugyanúgy legyenek, mint mielőtt submitolta volna a formot
-
martonx
veterán
válasz
Sk8erPeter #2315 üzenetére
Ne trollkodjál itt kérem szépen, ez az utolsó mondatod nagyon pejoratív volt
-
Sk8erPeter
nagyúr
válasz
Speeedfire #2313 üzenetére
Sztem ezt kukkantsd meg többek közt:
http://knockoutjs.com/documentation/json-data.html
http://knockoutjs.com/documentation/plugins-mapping.htmlDe hát bakker, most nézem, ott van a példa az AJAX-os frissítésre a tutorialban is
http://learn.knockoutjs.com/#/?tutorial=loadingsaving
há' nézz má' körűűűűűű!
-
Sk8erPeter
nagyúr
válasz
martonx #2312 üzenetére
Tetszik egyébként a cuccos, nem használtam még élesben, de nagyon elgondolkodtató a használata, és a tutorial is olyan szinten le van egyszerűsítve, hogy ennél jobban már nehezen lehetne elmagyarázni a dolgokat. Még van olyan gomb is, hogy helpet kérsz, mert még mindig nem érted, és kijavítják a kódodat, megmutatják, hogy is kellett volna.Tulajdonképpen tényleg mindent az arcodba tolnak. Szóval szerintem fogom használni, elég bejövős, korábban is kinéztem már magamnak.
-
Speeedfire
félisten
válasz
Sk8erPeter #2311 üzenetére
Igen, de itt nem ajax-al frissíti be.
Itt a kód belsejében van, hogy self.seats.push. Ezt meg kívülről elvileg nem tudom meghívni. Jelenleg most ajax complete függvényben van a bindingapply.
martonx: Látom a troll is megjött. -
martonx
veterán
válasz
Sk8erPeter #2311 üzenetére
Jaj neee, megmutattad neki a tutorialt?
Végülis jobb későn látni a tutorialt, mint soha -
Sk8erPeter
nagyúr
válasz
Speeedfire #2310 üzenetére
Igazad van, viszont most gyorsan megnéztem a tutorialokat:
http://learn.knockoutjs.com/#/?tutorial=collectionsitt a "Tutorial: Working with Lists and Collections" leckét válaszd ki, és itt már a második lépésben mutat egy módszert rá, amivel halál egyszerűen lehet frissíteni a listát. Még magyarázatot is ír rá. Ha nem jön össze, pakold fel a próbát jsFiddle-re.
-
Speeedfire
félisten
válasz
Sk8erPeter #2300 üzenetére
2x nem szabad bind-olni, ha jól tudom. Amúgy igen. Egy ilyesmi lenne a célom, csak üres modellel kezdene.
-
Lacces
őstag
válasz
Sk8erPeter #2308 üzenetére
Yeap, én is erre jutottam. Ajax-nál lusta vagyok most, de a serialaze() került bevetésre. Más lenne ha a sajátom lenne és más ha tovább adódik az egész...
-
Sk8erPeter
nagyúr
Őő, egy ilyen form megírása, hát... nem túl sok idő.
Amúgy jól mutat az a
"<b>Notice</b>: Undefined variable: query in <b>C:\xampp\htdocs\elszamolasi_alrendszer\libs\Smarty-3.0.7\libs\sysplugins\smarty_internal_data.php</b> on line <b>291</b><br />"Amúgy Jim-Y kérdése is jogos, hogy miért <a> tagben van. Na meg itt nem is AJAX-kommunikációról van szó, szépen követni fogja a böngészőt a linket.
Na mindegy, itt van egy módosítás, bár így is ronda, mint a bűn
http://jsfiddle.net/dnZvt/2/ -
Lacces
őstag
válasz
Sk8erPeter #2304 üzenetére
Itt a link.
Elhiszem, hogy igényesség, de nekem nincs energiám, sem türelme, sem életkedvem, mert lehetne mindenhol írkálni, és sok kicsi-sokra megy elv visszatart időtéren. Én írtam bele először megjegyzéseket, hogy mikor mit csinál a rendszer, szerintem már ezzel túlszárnyaltam az előző fejlesztő munkáját
Jim-Y: Ma valahogy tele lett a hócipőm, hogy az folyton az előző fejlesztő munkáját kijavítsam... (ilyenkor bánnom, hogy a programozói tanulmányokat választottam villanyász helyett)
De szerintem elkezdem, mert több időt venne el ez a probléma értelmezése.
Azért hagytam az "a"-ban, mert a többi 100 helyen is így van...
Nemakarom a szabaidőmet feláldozni, hogy ingyé újraírjam... hogy szép legyen a kód, mert ezt a megrendelőt nem érdekli. -
Jim-Y
veterán
azért az input neveket, meg id-ket elég szépen kevered -.-
http://jsfiddle.net/CN4wY/Meg miért nekem kellett bepakolni jsfiddle-re, illetve a kérdés miért nem a javascript topikban lett feltéve?
Meg sok más dolog mellett, miért "a" tagben van a doSearch?!
-
Lacces
őstag
válasz
Sk8erPeter #2302 üzenetére
Természetesen van. Ja az, de egyelőre marad is, nincs bennem világmegváltási szándék.
-
Lacces
őstag
Hali,
Az alábbi kódrészletet akárhogy próbálom módosítani folyton ezt a hibaüzenetet dobja ki:
Uncaught TypeError: object is not a function Most látom életemben először a hibát, és nem tudom, hogy mit kezeljek le.
Erre a részre:
<a id="keress" href="#" onclick="doSearch();" class="button" style="">Keres</a>
ha rakok, hanem a fv hívás után veszőt vagy írok plusz sort, mindig ugyanezt dobja.<form name="cform" method="POST" action="index.php?modul=szamla&func=keresCeg">
<input type="hidden" name="doSearch" id="doSearch" value="1">
<center>
<font style="font-size: 12pt; font-weight: bold;">Cég keresése</font>
<br />
<table width="560" cellspacing="0" cellpadding="2" border="0">
<tr>
<td width="100">
<b>Név:</b>
</td>
<td>
<input type="text" style="width: 350px;" id="nev" name="nev" value="">
</td>
</tr>
<tr>
<td colspan="2">
<br />
<a id="keress" href="#" onclick="doSearch();" class="button" style="">Keres</a>
<!--Uncaught TypeError: object is not a function-->
<!--<a href="#" onClick="doSearch();return false;" class="button">Keres</a>-->
</td>
</tr>
</table>
</center>
<br />
</form>
// JS függvény.
function doSearch()
{
$("#kscreen").html('<br /><center><font style="font-size: 16pt;">Keresés folyamatban. Kérem várjon!</font></center><br />');
document.cform.submit();
}
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Építő/felújító topik
- Hisense LCD és LED TV-k
- Hivatalos a OnePlus 13 startdátuma
- A VBIOS az oka a Radeon RX 9070 és az X99-es alaplapok inkompatibilitásának
- Path of Exile 2
- iPhone topik
- Fujifilm X
- Peugeot, Citroën topik
- Azonnali VGA-s kérdések órája
- További aktív témák...
- Szuper áron eladó Lenovo ThinkPad T14 Gen 1 Touch /Ryzen 5 PRO 4650U/16GB/256 SSD/FHD/IPS
- Bontatlan Lenovo ThinkPad T14s Gen 4
- Samsung UE40NU7192 101 cm / 40 4K UHD Smart TV 6 hó garancia Házhozszállítás
- LG 65NANO81T3A 165 cm / 65 4K UHD NanoCell Smart TV 6 hó garancia Házhozszállítás
- Playstation 4 Pro 1 TB + kontroller 6 hó garancia, számlával!
- Új monitor állvány- elegáns megoldás a dupla A/4-es papírcsomag helyett - csak össze lett szerelve
- 8 GB-os GeForce RTX 2060 SUPER (OEM HP) - garanciával
- HIBÁTLAN iPhone XS Max 64GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS2898, 100% Akkumulátor
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- 18 éve! Billentyűzet magyarítás magyarosítás. Festés vagy lézerezés és egyebek! 3 lehetőség is van.
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest