- Samsung Galaxy Fit 3 - keveset, de jól
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Változó design, tekerhető lünetta: megjött a Galaxy Watch8 és a Classic
- Honor Magic V3 - mágikus realizmus
- Yettel topik
- Motorola Edge 40 - jó bőr
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- iPhone topik
- Honor Magic6 Pro - kör közepén számok
- Íme az új Android Auto!
Új hozzászólás Aktív témák
-
Jim-Y
veterán
-
Jim-Y
veterán
válasz
Sk8erPeter #3128 üzenetére
Ezt meg annyival egeszitenem ki, ami kimaradt Sk8erPeter amugy remek osszefoglalojabol, hogy a ; (semicolon) rakasokat sem hasznalod tul kovetkezetesen. Neha kiteszed, neha nem. A best practice az, ha mindig kiteszed. A masik a dangling else.. Tegyuk mar ki a { (curly braces) jeleket!
if ($(this).hasClass('active')) $(this).find('#loginLogo').html('▲')
else $(this).find('#loginLogo').html('▼')helyett
if ($target.hasClass('active')) {
$loginLogo.html('▲')
} else {
$loginLogo.html('▼')
}Sot, mivel ez meg mindig nem tul DRY, ezert ami ennel is jobb practice
var chevron = $target.hasClass('active') ? '▲' : '▼';
$loginLogo.html(chevron);Illetve en biztos, hogy nem hasznalnam a click(), change() stb.. shorthand functionoket event handlingre, mert ha helyette:
$topLevelElem.on(CLICK, 'eventDelegation', handler);
Igy hasznalod az esemenykezeloket, akkor vele jar elonyokre teszel szert:
- egyreszt a CLICK valtozot egyszer fogod letrehozni amit addot esetben le tudsz majd konnyen cserelni TOUCH_END-re peldaul.
- event delegation -
Jim-Y
veterán
válasz
Speeedfire #3031 üzenetére
Tadaam, példa: [link]
-
Jim-Y
veterán
válasz
Speeedfire #3028 üzenetére
Szerintem sokat segítene, ha csinálnál belőle példát jsfiddle-re. A BE kérérseket is tudod mockolni, így tudod majd demózni a nem jól működő ajax kéréseket. Hátha közben meg is lesz a hiba...
Ahhoz, hogy tudd mockolni az ajax kéréseket, external resource-nak meg kell adni a mockjax-ot.
http://cdnjs.com/libraries/jquery-mockjax
A kód elején pedig mockolod a kéréseket:
https://github.com/appendto/jquery-mockjax
Kb így (nem az a lényeg, hogy mit adsz vissza úgy sem, hanem, hogy nem megy aszinkron. Ha jól értem a problémát...)
$.mockjax({
url: '/restful/fortune',
responseTime: 750,
responseText: {
status: 'success',
fortune: 'Are you a turtle?'
}
});Működő példát is tudnék mutatni, de elhalálozott momentán a jsfiddle :/
-
Jim-Y
veterán
válasz
Sk8erPeter #3022 üzenetére
Igen-igen, az utóbbira gondoltam. Sajnos már láttam éles környezetben ilyet, azért is ragadt meg bennem xD
-
Jim-Y
veterán
Szia.
Nem megbántani akartalak, csak szerintem rossz stílusban írtad meg a kódot. Miért?
- quotation mark? [link] [link] [link] Tehát nem arról lenne szó, hogy invalid lenne tőle a kód, de "highly unrecommended". Egyrészt olvashatatlan is lesz tőle a kód, másrészt sok IDE-ben elrontja a syntax highlight-ot, harmadrészt a stackoverflow-s linkben is említett class hibákhoz vezethet. Nem is értem, hogy miért ne tenné valaki " " közé az értéket. A style guidok is elég egyértelműek ezen kérdést illetően: [link]
- inline event handlers? Ez sem ajánlott. Vannak hátulütői. Ezekről itt olvashatsz. [link] [link] Másrészt inline ev.handlerekkel csak egy handler-t tudsz definiálni egy eventhez.
Pszeudokód:
node.onclick = alert(1);
node.onclick = alert(2);A click eseményre csak 2-t fog alertelni, mert a második definíció felülírja az elsőt.
- self-closing tags? Ezt be kell látnom lehet, hogy rosszul tudtam. Én valamiért úgy emlékeztem, hogy az újabb html specifikációkban ezek elengedhetetlenek. Pl <br> nem helyes, csak <br />. Ezt lehet rosszul tudtam.
- szerintem egységesen magyar, hol keveredik angollal? Ez már szőrszálhasogatás.. felőlem mindenki olyan nyelven írja, ahogy akarja, tényleg
disableEnterKey(event)
value1 ... value12
De a nagyja tényleg magyar. Én csak simán elszoktam már tőleFőleg ha az összes API angolul van, akkor nem értem mi értelme magyarul írni. De ez egyéni szoc. problem.
-
Jim-Y
veterán
Ez a kód ... O.O
Csak az első sort hagytam benne, mert csak azt volt türelmem kijavítani. Szinte csak hiba volt benne.
Meg ezek a magyar nevek..keverve angol nevekkel, fő a konzisztencia.
Nem is tudtam hogy elnevezni a változókat, mert annyira értelmetlennek találtam a példát, azért próbálkoztamMi lenne, ha leírnád, hogy mit szeretnél elérni a programmal, és segítenénk legalább elméletben, hogy hogyan kéne nekifogni?!
Üdv
megj: elsőre amikor megnyitottam a példát nem hittem a szememnek
-
Jim-Y
veterán
Az is látszik amúgy, hogy egy egyszerű lintelésen se futtatták át, mert akkor nem maradtak volna benne ilyen hibák:
Running "jshint:files" (jshint) task
tohint.js
1 |'use strict';
^ Use the function form of "use strict".
41 | if(n==i)
^ Expected '===' and instead saw '=='.
64 | w=ut_slider_get_width();
^ 'w' is not defined.
65 | offset=w*n;
^ 'offset' is not defined.
65 | offset=w*n;
^ 'w' is not defined.
68 | $(this).css('left', (0-offset) +"px");
^ 'offset' is not defined.1 az igazából nem az ő "hibája", de az igen, hogy nem használ, vagy legalábbis a kódrészletben nincs
Bad habit:
- Új sorban nyitni a { zárójelet függvény definíciónál az automatikus semicolon insertion miatt. Több style guide is ellenjavallja. Gondolom C++ -s emberke írta a kódot.
- Lehet csak nekem szúrja a szemem, de sorozatosan $.each -nél $(this) -t használ az aktuális elemre, amikor az eachnek van erre argumentuma, ha azt használná, akkor egyrész megspórolná a this használatát ami szintúgy ellenjavallot, illetve még olvashatóbbá, és egyértelműbbé is tenné a kódot.Már csak azért is bad habit így használni, mert ha megszokja, akkor esetleg legközelebb egy ilyen helyzetben is így csinálja, és néz majd, hogy miért nem az történik, mint amire számítana:
$('.slide').each(function (i) {
$(this).css('backgroundColor', 'red');
setTimeout(function() {
$(this).css('backgroundColor', 'green');
}, 1000);
});A többit pedig már leírták. De azért a w-t, meg az offsetet globálissá tenni azért elég csúnya
-
Jim-Y
veterán
Amúgy nem egy rossz kérdés. Érdemes megrágni picit (bár nem a jquery topikban kéne, no mindegy
)
A véleményem az, hogy azért látsz erről kevesebb infót, mert a PHP-t főleg szerver oldalon használják, vagy legalábbis ebben a kontextusban amiről beszélünk, a javascriptet pedig főleg kliens oldalon. Na most az olyan témakörök, mint Osztály, öröklődés leginkább az adatok/állapotok tárolásával hozhatóak összefüggésbe. Adott objektumokat írunk le egy osztállyal, és ezen onjektumokat akarjuk perzisztálni valamilyen módon. Adatokat pedig rendszerint adatbázisba mentünk, az pedig a szerver oldalra tartozik.
Kliens oldalon nem szokás adatokat tárolni. Van rá lehetőség (indexedDB, localstorage stb..) de nem jellemző. Szerintem már csak ezért sem találkozni olyan sűrűn a klasszikus értelemben vett osztály fogalmával kliens oldali javascriptben.
De van olyan use-case, ahol igenis előjönnek ezek a fogalmak kliens oldalon is. Most két ilyen jut eszembe, az egyik a játék készítés. Pl canvas, objektumokat mozgatunk stb. A másik ha pl DTO-kal dolgozunk. (data transfer objects). Ez utóbbira use-case lehet, ha a szerver oldaltól JSON objektumként kapjuk meg a kívánt adatot amit megfeleltetünk egy JS-beli objektumnak.
pl. var product = new Product(); product.fromJSON(prodFromDatabase);
A fenti állításom is talán alátámasztja az, hogy a szerver oldali javascriptben sokkal nagyobb szerep jut ezen fogalmaknak. Esetleg nézd meg ezt a bejegyzésem amit a napokban írtam [link] Itt is szerepet játszanak a klasszikus oop-s szerepkörök, pedig ez egy abszolút minimalista projekt. De például a blog-bejegyzések kezelését egy külön osztály végzi, hogy elszeparáljam az ehhez tartozó kódot a projekt "fő folyamától". Vagy ugyaninnen példa, hogy a Utility funkciókat kiszerveztem egy külön modulba, ez is OOP-s megközelítés. stbstb
---------
A véleményem az, hogy nem az teszi az embert jó web-programozóvá, hogy rogyásig ismeri a jquery-t, és összetesz vele valamilyen minőségű weboldalt. Hanem, hogy ismeri a nyelv lehetőségeit, tudja, hogy mikor mit érdemes használni. Képes olyan kódot írni, ami letisztult, képes a nyelv eszközeit jól használni. Mielőtt még úgy jönne le, én nem tartozom ezen emberek közé. De törekszem rá. ^^
-
Jim-Y
veterán
válasz
Sk8erPeter #2971 üzenetére
Lehet akkor tényleg félreértettem, kicsit úgy értettem, mintha a javascript objectum orientáltságát kérdőjelezné meg
Zedz: valami olyasmire gondoltál, hogy érdemes-e kliens oldali javascriptben minél inkább kihasználni a klasszikus OOP-s eszköztárat? Mint osztály, objektum, enkapszuláció, öröklődés stb..?
Szerintem ez abszolút feladat függő. Vannak olyan 3rd party toolok amiket egy bizonyos bonyolultság után érdemes lehet használni. Most például a require.js szerű modulrendszerre gondolok, ami a modularizációt segíti. Vagy asszem jquery-nek is van extend metódusa ami az örököltetést segíti/mossa el.
De azt sem szabad elfelejteni, hogy a háttérben akkor is "oop van", amikor csak simán függvényeket definiálsz meg listenereket aggatsz DOM elemekre.
Például egy sima function x() { } is egy objektumnak lesz a része, ugye a global object-nek.
Attól, hogy nem csinálsz explicit konstruktorokat, meg nem örököltetsz még maga a nyelv, és a működése oop "szerű" lesz.
-
Jim-Y
veterán
válasz
Sk8erPeter #2947 üzenetére
Ja.. simán lehet.. sőt én is így érzem, tök szívesen foglalkoznék többet most ezzel, de melóban vagyok -nem gáz-, de az már igen, hogy a fostos FF jsfiddle alatt úgy belassul, hogy írni nem tudok bele, meg kijelölni sem, meg semmi
Amúgy én sem értem a problémát teljesen, de szerintem ez azért lehet, mert Spammer csak simán gyakorol, biztos volt egy alap feladat/probléma amit megcsinált, utána meg még játszott picit, és úgy alakult ki a kérdés, szoval lehet nincs is a dologban logika
megj: nekem meg csak simán a SS, meg LS ugrott be először, hogy azzal is meg lehetne csinálni ezt
-
Jim-Y
veterán
válasz
spammer #2943 üzenetére
Szerintem ezt viszonylag egyszerű megoldani, mindkét esetet:
Az eventlisteneren kívül csinálsz egy ilyet:
sessionStorage.setItem("clickCount",0);
Majd a click-en belül:
// normálisabb parszolást csinálj, én munkában nem foglalkoztam többet vele ^^
var clickCount = 0+sessionStorage.getItem("clickCount");
sessionStorage.setItem("clickCount", ++clickCount);
majd
selectTextareaLine(tarea,4*(0+sessionStorage.getItem("clickCount"))); // selecting line4*countKipróbáltam, de a selectTextArea fv-t át kéne írnod, mert nem működik jól, majd meglátod
-
Jim-Y
veterán
Mit akarsz pontosan elérni? Csak mert az objektumok is teljesen dinamikusan módosíthatóak, van olyan programnyelv, amiben az objektumokat (amik egy az egyben úgy működnek mint js-ben) Map-nek hívják.
Egyébként...
> var myobj = {};
undefined
> for(var i=0; i<5; ++i){
... myobj[i] = i;
... }
4
> Object.keys(myobj);
[ '0',
'1',
'2',
'3',
'4' ]
>Ebben mi a nem dinamikus?!
, asszociatív tömbök...
-
Jim-Y
veterán
Idézek a referenciából:
var fruits = [];
fruits.push("banana", "apple", "peach");
console.log(fruits.length); // 3
When setting a property on a JavaScript array when the property is a valid array index and that index is outside the current bounds of the array, the engine will update the array's length property accordingly:fruits[5] = "mango";
console.log(fruits[5]); // "mango"
console.log(Object.keys(fruits)); // ["0", "1", "2", "5"]
console.log(fruits.length); // 6A köztes elemek undefined-ok lesznek. Tehát length = utolsó numerikus index+1.
Ha mindenképp workaroundot akarsz akkor próbáld meg ezt: Object.keys(arr).length
De szerintem is inkább a szemléleten kéne változtatni.
-
Jim-Y
veterán
válasz
Speeedfire #2783 üzenetére
-
Jim-Y
veterán
válasz
trisztan94 #2612 üzenetére
ha csak egy sima click eseményt akarsz lekezelni, akkor azt miért jqueryvel csinálod?
Szerintem sokak már tényleg kezdenek átesni a lovon és mindenre jquery-t használnak amire simán jó lenne az alap js-es változat.
Pl a jquery-s selectorok nagyban segítik/gyorsítják a munkát, az hasznos szerintem, de pont egy click eventet megírni kb semmiből sem tart javascriptben. -
Jim-Y
veterán
Szerzel egy loader gif-et, az ajax-os adatbázibetöltés előttre berakod ezt a képet a DOM-ba, majd az ajaxos kérés callback-jébe raksz egy olyan kódot ami elrejti, vagy eltűnteti a fenti gif-et.
Egyszerű -nem működő- példa:
<img src="loader.gif" id="loader"/>
<table>
// ide fog betöltődni a sok sor az adatbázisból
</table>
...etc..JS:
$.ajax({
...
...
success: funtion(data){
// itt töltöd be a sorokat, majd
// itt tűnteted el a loadert.
});
// vagy itt, bár ha még az ajax-ban, akkor attól függően, hogy success vagy error tudsz még machinálni a kiírásokkalEz tényleg egy egyszerű példa volt, amit le kell szűrnöd belőle, hogy amikor vársz az adatokra, akkor előtte megjeleníted a loader gifet, amikor végzett az adatok betöltésével akkor pedig hide().
üdv
-
Jim-Y
veterán
válasz
Sk8erPeter #2584 üzenetére
hallottam, sőt hiszed vagy sem, magamtól olyanra csináltam meg először. De pont tőled 'kaptam meg' múltkor, hogy kezdőknek sokkal átláthatóbb az if-else, így ilyen helyzetben inkább írjunk egy hosszabb if-else-t, mert az beszédesebb mint a switch. Na ilyen az amikor akasztják a hóhért, vagy porszem van a gépezetben?
csak viccelek persze, de az tök igaz, hogy switchel csináltam meg elsőnek, utána írtam át if-else-re a fentebbi dolog miatt.
-
Jim-Y
veterán
-
Jim-Y
veterán
Hat ez nem egy nehez feladat. Meg igy mobilrol is le tudm irni. Azt mondtad hogy a select a sor vegen van, tehat be van agyazva a tr tagbe. a selectednek a szulje igy a tr lesz,van erre jquerys fv:parent
Tehat a feladatod hogy allitasz egy figyelot a select change eventjere es attol fuggoen valtoztatod a sor hatterszinet jquery css() fuggvennyel. Ez a jquerys megoldas. De a hatterszinhez en nem a css fvt hasznalnam hanem classokat adnek hozza vagy vennek el. udv -
Jim-Y
veterán
válasz
trisztan94 #2503 üzenetére
var valtozo = 13;
switch (valtozo) {
case 2:
//lenyegtelen
break;
case 3:
//lenyegtelen
break;
case 13:
var variableCopy = assignementToVar();
alert(variableCopy);
break;
case 45:
assignementToVar();
break;
default:
break;
}
function assignementToVar() {
var valtozo5 = "akarmi";
return valtozo5;
}Mondjuk a helyedben biztos átgondolnám a logikát, mert ez nem tűnik egy túl nehéz feladatnak, és a switch-case szerkezetet is tuti ki tudnád küszöbölni.
-
Jim-Y
veterán
válasz
trisztan94 #2501 üzenetére
A 13-ban nem tudod meghívni a 45-öst?
-
Jim-Y
veterán
válasz
Speeedfire #2476 üzenetére
var tomb = [];
// helytelen
//tomb[id] = 2;
//tomb[language][hu] = "Keresési feltételek";
//tomb[language][en] = "Search";
// helyes
var Message = {}; // mint object
Message['id'] = 2;
Message['lang'] = [];
Message['lang']['hu'] = "aaa";
Message['lang']['en'] = "search";
var messageTomb = []; // mint tomb
messageTomb['id'] = 2;
messageTomb['lang'] = [];
messageTomb['lang']['hu'] = "Keresési feltételek";
console.log(messageTomb['lang']['hu']); // Keresési feltételek
// vagy
function messageObj(id, langhu, langen) {
this.id = id;
this.language = {
hu: langhu,
en: langen
}
}
var mess1 = new messageObj(1,"Keresési feltételek","Search");
var mess2 = new messageObj(2,"asd","asdEN");
console.log(Message); //{id:2, lang:[]}
console.log(mess1['id']); // 1
console.log(mess1['language']['hu']); // "Keresési feltételek" -
Jim-Y
veterán
válasz
vincent001 #2465 üzenetére
Ugyan abban a mappában van a script.responsive.js mint amiben az oldal?semmi, szerintem nem csak ezt kellett volna behúznod, de mivel nem értek hozzá, így inkább csöndben maradok -
Jim-Y
veterán
válasz
vincent001 #2457 üzenetére
&martonx: például http://jsfiddle.net/ vagy http://jsbin.com/
-
Jim-Y
veterán
válasz
trisztan94 #2441 üzenetére
És mi lenne ha csak az elérési utat küldenéd vissza stringként, akármilyen struktúrában, és kliensoldalon csinálnál belűlök img taget?
-
Jim-Y
veterán
válasz
trisztan94 #2423 üzenetére
Mielőtt elsikkadna a dolog. Ha már írtam, hogy az ENUM-okat Objectekkel szokták megoldani, akkor hozzá kéne(kellett) volna tennem, hogy ilyenkor szintaktikusan a property neveket csupa nagybetűvel szokták írni. Én azért írtam kicsivel, hogy össze tudd hasonlítani könnyebben a datepickerből kapott stringgel a propertyneveket.
-
Jim-Y
veterán
válasz
trisztan94 #2419 üzenetére
Erre jó lenne egy ENUM szerintem, amit javascriptben Objecttel tudsz megoldani.
var Honapok = {
January: '01',
February: '02',
March: '03',
April: '04',
May: '05',
June: '06',
July: '07',
August: '08',
September: '09',
October: '10',
November: '11',
December: '12'
};vagy ha már úgyis 1-12-ig megy, akkor egy sima tömb is jó erre egytől indexelve.
-
Jim-Y
veterán
válasz
martonx #2411 üzenetére
Hát, majdnem, kipróbáltam a tiédet, és annyiban más csak, hogy magára a teszt divre kattintva sem történik semmi, az én verziómban magára a divre, illetve az alatta lévő divekre kattintva történik kiemelés kivéve a nee classos. Egyébként szerintem ez is tök jó.
Személyes véleményem, amit párszor már itt a topikban megkaptam, hogy nem mindig a legrövidebb megoldás az ajánlatos, mert ha valaki más kevésbé hozzáértő ránéz a kódra, akkor nem biztos, hogy elsőre tudja, hogy mit csinál a kód. Míg -szerintem-, az én verzióm eléggé magáért beszél
Na nem offense-ből írtam ezt.
-
Jim-Y
veterán
-
Jim-Y
veterán
válasz
Speeedfire #2408 üzenetére
Nagyon kellett sietnem így csak addig csináltam amig azt az eredményt kaptam amit vártam, bocs ha vmi hiba van benne, 1h mulva átnézem, de addig lesd meg: http://jsfiddle.net/Jim_Y/bjxDL/3/
-
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...
-
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 -
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"]
}
}); -
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?!
-
Jim-Y
veterán
válasz
trisztan94 #2253 üzenetére
Azért annyira nem volt bonyolult az a JS API-n keresztüli dolog, de nem is tudtam, hogy van iFrame-es megoldás. Azt honnan lehet szerválni?
-
Jim-Y
veterán
válasz
Sk8erPeter #2223 üzenetére
Nekem már volt olyan problémám, hogy IE-ben nem működött a forEach ciklus, próbáltam kikeresni, hogy a jQuery.each hogyan lett implementálva, esetleg lehet azzal van baja, bár nem hiszem, csak gondoltak erre a fejlesztők.
-
Jim-Y
veterán
szerintem máshol van a probléma, nem ebben.
Kipróbáltam:$(document).ready(function(){
$.ajax({
type: "POST",
dataType: "html",
url: "test.php",
success: function(response){
alert(response);
if(response === 'update'){
alert('valami');
}
}
});
});<?php
echo "update";
?>Nekem mindkét alertet kihozta. Esetleg mutass több kódot
-
Jim-Y
veterán
válasz
-=Flatline=- #2128 üzenetére
Csak szerinted sok az a 78K, én melóban örülök ha ilyennel kell dolgoznom, mert azon értelmes időben lefutnak a query-k
Nekem a 70millió soros táblával volt bajom
Na, így már jobban értem a problémát. Nos, én először valamilyen formában eltárolnám még kliens oldalon, hogy melyik filmet szerkeszti, majd a leendő query-be ezt feltételnek írnám (nyílván ha úgy áll a kapcsoló). Tegyük fel BögyösMaca karakterére keresne a cikk közben, elkezdi gépelni, hogy 'Bögy' majd megáll
-3 karakter megvolt, vársz 2 másodpercet, hogy folytatja-e a gépelést, ha nem, akkor mehet az ajax, mégpedig úgy, hogy az ajax data mezőjében elküldöd a Bögy stringet, és, hogy épp mi az aktív film, pl:$.ajax({
..
data: {
phrase: "Bögy",
active: "Titanic",
amikellmég: "azmegyide"
}
..
});Ezt szerveroldalon feldolgozod, és csinálsz belőle egy hozzá passzoló query-t
SELECT * FROM Filmek WHERE title = 'Titanic' AND (szereplő LIKE ' %Bögy%' OR másikszereplo LIKE '%Bögy%' stb...);Visszakapsz x sort mondjuk, azt feldolgozod szerveroldalon encodolod json-be, és visszaküldöd a kliensnek.
Kliensoldalon egyrész listázod autocomplettel a találatokat valamilyen emészthető formában, hogy az író ki tudja választani, hogy melyik érdekli, melyiket akarja beszúrni, majd megnyomja a gombot.Ekkor te visszakeresed az ajax eredménytömbjében ugyanazt az elemet, csinálsz belőle egy linket és beszúrod a kívánt helyre.
Ne haragudj, hogy nem írok konkrét dolgokat, de még mindig nem látom, hogy hol akadtál el a dologban
-
Jim-Y
veterán
válasz
-=Flatline=- #2124 üzenetére
Én már magát a feladatot nem értem, lehet én nem vagyok így este elég türelmes, de nem sikerült leszűrnöm, hogy tulajdonképpen hol is akadtál el az autocomplete-ban.
Egy adatbázisban kereső autocomplete példa úgy néz ki, hogy:
- van egy input text meződ, a felhasználó elkezd írni valamit, mondjuk 'cha', itt lekezeled, hogy hány karakter után, vagy milyen esemény hatására történjen keresés az adatbázisban, mondjuk 3 karater után keresel, tehát ha beírta a user, hogy cha akkor lesz egy ajaxod, ami az adatbázisban keres. Hogy egy táblában, vagy többen azt te döntöd el, és te írod meg.
- lesz ugye egy ajaxod, ami visszadja a query eredményét, az esetedben mondjuk egy tömböt négy értékkel CharacterA, CharacterA, CharacterB, CharacterB (meg kell jegyeznem, már az sem tiszta, hogy itt miért szerepel 2x minden?!megvan, de én ezt alapból szűrném már szerveroldalon)
- megvan a keresés eredménye, az inputmeződre rákötöd az autocomplete bővítményt, és megadod neki resource-nak a fenti tömböt.
- meg mondjuk van egy gombod, ami miután behelyettesítetted az input fieldbe, hogy mondjuk CharacterA, indít egy újabb ajax kérést, de már ezt a 'CharacterA'-t küldöd a szervernek.Látszik, hogy elég sok helyen dolgozhatsz az adattal, először amikor kiszeded az input mező értékét, majd mielőtt az első ajaxnál elküldöd, hogy 'cha' a szervernek, majd az erre érkező választ is szerkesztheted ahogy akarod stb...
Melyik lépésben akadtál el?
-
Jim-Y
veterán
válasz
Speeedfire #2103 üzenetére
mint ahogy martonx is írta, a korábbi kódomban pont ez szerepel [link]. A page classú tagek ajaxxal lettek hozzáadva, és azokra még egy .on lett aggatva, de ennek az ajaxon belül kell lennie. Csak ebben a kódban ki lett delegálva a törzs egy függvénybe
Amikor írtam a kódot én is kipróbáltam függvényen kívül, de úgy nem történt semmi.
-
Jim-Y
veterán
válasz
Speeedfire #2101 üzenetére
És mi nem megy tulajdonképpen?!
-
Jim-Y
veterán
válasz
Speeedfire #2099 üzenetére
Mi az a content?
-
Jim-Y
veterán
válasz
Speeedfire #2092 üzenetére
Ellenőrizd, hogy channels tömb tagjai (objectek) ne tartamazzanak `nem stringet`
Például:
var channels = [{one: 1, two: 2, three: 3},{egy: "egy", ketto: "ketto", harom: "harom"}];
var str = $.param(channels[0]);
console.log(str); //undefinedde,
var channels = [{one: "1", two: "2", three: "3"},{egy: "egy", ketto: "ketto", harom: "harom"}];
var str = $.param(channels[0]);
console.log(str); //one=1&two=2&three=3Mondjuk, szerintem a te adataid automatikusan stringgé kéne, hogy kovertálódjanak, szoval lehet nem ez a baj, de egy tippnek elment
-
Jim-Y
veterán
válasz
Sk8erPeter #2082 üzenetére
Igen, sajnos azzal tisztában vagyok, hogy isset kellett volna, a GET-et pedig azért használtam, mert írtátok, hogy azt célszerű a bookmarkolhatóság miatt, egyébként pedig sajnos nem vagyok php guru
Próbáltam is jelezni a linkelésemnél, hogy ez csak egy skicc, arra irányult, hogy csak egy bizonyos tartalom menjen vissza, és hogy nem tilos több ajaxot is felhasználni.
És persze igazad van, éles helyzetben ennél sokkal átgondoltabb kód kéne, de most úgysem az volt a cél.
-
Jim-Y
veterán
válasz
Sk8erPeter #2080 üzenetére
Én ott csak egy stringet küldök vissza, nem a tömböt. $oldalak[$page];
Amugy meg azért tömb, mert nem akartam még az adatbázissal is foglalkozni
-
Jim-Y
veterán
válasz
szmegma #2062 üzenetére
Amugy az miért nem jó, ha magát a lapozót te állítod össze kliens oldalon js-el, úgy, hogy ajaxxal lekéred a php fájltól, hogy hány megjelenítendő oldalad van, azt javascriptben feldolgozod, és csak a tartalmat kéred le a szervertől lapozásra?
Sok hiba van benne, illetve joe editorban a szerveren írtam meg, nem akartam scpzni
Ez csak egy skicc, de látszik, hogy mire gondolok.
-
Jim-Y
veterán
válasz
trisztan94 #2053 üzenetére
Az egész zavaros, szerintem egyszerűbb lenne, ha leírná, hogy alapból mit szeretne, és akkor arra adnának az okosok választ, példakódot, etc...
-
Jim-Y
veterán
válasz
trisztan94 #2048 üzenetére
Én nem így gondoltam.. csak rosszul írtam le, kicsit érthetetlenül :/
Szóval én úgy csinálnám, hogy a az ajax, data mezőjében egy action-t küldenék csak, ugye az php oldalon, ha jól emlékszem a $_POST[action]-be kerül, majd php oldalon ezen $_POST[action] függvényében hívnám meg a szükséges függvényt, ami csak azt adná vissza, amire szükség van, ergo nem mindent küldenék vissza, csak azt a darab kódrészletet amire szükség van.. -
Jim-Y
veterán
válasz
trisztan94 #2033 üzenetére
nem tudsz egy hosszabb kódrészletet megosztani? Esetleg JSfiddle?
-
Jim-Y
veterán
válasz
trisztan94 #2028 üzenetére
Pedig amit írtál az működik, tehát elképzelhető, hogy mégiscsak a JQuery linkelésével lesz gond...
-
Jim-Y
veterán
válasz
Sk8erPeter #2006 üzenetére
Szia
Átírtam, de így is rossz helyre teszi :/
Ez a konténer, ahova tenni szeretném:
<td>
<div id="script_container">
</div>
</td>Itt a függvény amit átvettem tőled:
// Load charts to container div-s.
function loadChart(url, callback, target_id){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function(){
callback();
};
}
script.src = url;
if(target_id === undefined){
document.getElementsByTagName("head")[0].appendChild(script);
}
else {
document.getElementById(target_id).appendChild(script);
}
}Itt pedig ahogy fel akarom használni:
).bind("select_node.jstree", function (event, data) {
if(data.inst.get_text() === "/map"){
window.open(data.rslt.obj.attr("target"));
} else if(data.inst.get_text() === "/kpi"){
loadChart("area-js.js", function(){}, "script_container");
}
});Jó helyre szúrja be a kódban, ellenben a chart kicsúszik a táblázatból, és csak a táblázat alatt jelenik meg. Próbáltam azt is, hogy előre megfelelőre méretezem a cellát, de így is a táblázat után mutatja az ábrát, pedig a kódban jó helyen van a script tag :/
-
Jim-Y
veterán
válasz
Sk8erPeter #2006 üzenetére
Igen, valami ilyemi kéne, majd jövő héten kipróbálom és visszaírok
-
Jim-Y
veterán
válasz
Sk8erPeter #1996 üzenetére
Igazából azért nem reagáltam még, mert függ a dolog jelenleg is, sajnos az appendes módszer nem jött össze, mert ha utólag appendelem egy előre létrehozott üres divebe, akkor rossz helyen jelenik meg, nem a divben hanem alatta a táblázaton kívül, ergo nem jól jelenik meg.
Ezek a js fájlok 1-1 chartot jelentenek, és van bennük egy render() metódus, azt is próbáltam, hogy a render metóduson kívül mindent beteszek előre a megfelelő helyre, és a user interakcióra csak a render metódust hívom meg, de ilyenkor is ugyanaz a probléma mint feljebb, hogy nem ott jelenik meg a chart ahol kéne, hanem "kicsúszik" alulra, pedig a méret, meg minden egyéb rendben van.
Most azt csináltam, és így jól működik, hogy az adott helyen, ahol a chartok meg kell, hogy jelnjenek (ez egy td) felvettem egy külön divet amibe előre betöltöttem a kódot, majd az oldal elején elrejtem a divet, és csak akkor hívom meg a divre a show()-t amikor a user interakció megtörtént. Így jól működik.
De a require.js-t még meg fogom nézni
Megj: kódot sajnos nem tudok mutatni, mert business :/
-
Jim-Y
veterán
Sziasztok.
Van egy oldalam, illetve több különálló js fájlom, a főoldalba dinamikusan akarom betölteni a különálló .js fájlokat, és nem szeretnék ajaxot használni, ugyanis nem akarok kiszolgáló szerveroldali scriptet írni.
Jelenleg úgy néz ki, hogy ha fixen beleégetek egy ilyet az oldalba a megfelelő helyre:
<script src="child/child/doc.js"></script>
akkor minden szupi, de én ezt dinamikusan akarom megtenni, és dinamikusan akarom kiválasztani, hogy melyik js töltődjön be.
Próbáltam a
$("#container").load("child/child/doc.js") -et is, de ilyenkor maga a forrás töltődik be, pedig előtte a kódot még evaluálni kéne.
Az oldal elejére sem szeretném őket beszúrni, ugyanis egy olyan frameworknek a részei a js fájlok amik rögtön renderelik is magukat. Ergo ha én megnyomok egy gombot, akkor töltődjön be a megfelelő javascript forrás, ami rögtön rendereli magát és lesz belőle valami grafika
Ötlet?
-
Jim-Y
veterán
válasz
trisztan94 #1976 üzenetére
Sajnos nem ismerem a C#-ot
-
Jim-Y
veterán
válasz
trisztan94 #1974 üzenetére
Annyi a lényeg, hogy name.value szintaktikával eléred javascripttel a json objektum tulajdonságait.
Maga a JSON szintaktika végtelenül egyszerű, referenciát 2 perc alatt el lehet olvasni http://www.json.org/
JS-ben pedig így tudod használni: http://www.json.org/js.html
-
Jim-Y
veterán
válasz
trisztan94 #1972 üzenetére
PHP-ben írsz például egy ilyet:
<?php
$response = array();
for($i = 0; $i < 10; ++$i){
$response[$i]['name'] = "name number ".$i;
$response[$i]['another_field'] = "field number ".$i;
}
$response['status'] = "siker";
$result = json_encode($response);
echo $result;
?>Itt a $result egy json objektum lesz, amit visszaküldesz az ajax hívásnak, majd a JS oldal ezt látja belőle:
{
"0": {
"name": "name number 0",
"another_field": "field number 0"
},
"1": {
"name": "name number 1",
"another_field": "field number 1"
},
"2": {
"name": "name number 2",
"another_field": "field number 2"
},
"3": {
"name": "name number 3",
"another_field": "field number 3"
},
"4": {
"name": "name number 4",
"another_field": "field number 4"
},
"5": {
"name": "name number 5",
"another_field": "field number 5"
},
"6": {
"name": "name number 6",
"another_field": "field number 6"
},
"7": {
"name": "name number 7",
"another_field": "field number 7"
},
"8": {
"name": "name number 8",
"another_field": "field number 8"
},
"9": {
"name": "name number 9",
"another_field": "field number 9"
},
"status": "siker"
}ajaxon belül:
success: function(result){
if(result.status === "siker"){
// TODO
}
result.0.name //name number 0
}Látszik, hogy a json azért jó, mert a javascriptes objekt notációval tudod elérni a json fieldjeit. A példában result.0.name
-
Jim-Y
veterán
var myobj1 = {
name: "obj1",
author: "author1"
}
var myobj2 = {};
var anarray = [];
anarray.push(myobj1);
if ( !Array.prototype.contains ) {
Array.prototype.contains = function(obj) {
for(var i=0;i<this.length;++i){
if(this[i] === obj){
return true;
}
}
return false;
}
}
var myotherobj = myobj1;
console.log(anarray.contains(myobj1)); //true
console.log(anarray.contains(myotherobj)); // true
console.log(anarray.contains(myobj2)); //falsesajnos ez még nem olyan jó, mert ha új attribútumot adunk pl myotherobj-nek akkor is igazzal tér vissza, gondolom referenciákat néz a === objektumok esetén és típust.
Szerintem a jó megoldás az lenne, ha összevetné az ember a típusokat, objektumok számát, értékét, esetleg a prototype chain egyezőséget is vizsgálna.
Vagy ahogy martonx is írta már alapból felkészítjük az objektumokat egy id-vel.
-
Jim-Y
veterán
A hiba az ön készülékében van, ugyanis kiveszi az, ahogy kell neki, az más kérdés, hogy rossz helyre raktad a sort, ugyanis ebben a formában a js akkor olvassa ki az input értékét (document.ready), amikor még nincs benne semmi. Rakd a click-en belülre, és akkor jó lesz.
Szemléltetésül:
var v = $("#user").val();
$('#kell').click(function(){
alert("bökd "+typeof(v)+" ki"); // bökd string ki : itt string egy üres stringet jelöl, de! nem undefined
});Működő példa: http://jsfiddle.net/Jim_Y/WAHkn/
-
Jim-Y
veterán
válasz
Sk8erPeter #1885 üzenetére
Ja értem mit akarsz kihozni a dologból.. jó hát most olyanba szerintem nem kéne belemenni, hogy "mi lenne ha", igen igazad van, ha valami rossz kismanó átírná a kódját multiple selectre, akkor igen lefutna, egyébként az enyém meg nem, de ennyi erővel elég sokmindent át kéne írni a programokban hülyebiztosra. Egyébként, nem akartam senkit megbántani, meg igazat is adok neked, de akkor is abban a jsfiddle példában számomra az each értelmetlen volt, törődjetek bele
megj: én meg mindig téged érezlek kötekedőnek 1:1 , persze viccelek, azért az ilyenek is viszik előre az embert, ugyanis így tanul az ember, szoval peace
-
Jim-Y
veterán
válasz
Sk8erPeter #1883 üzenetére
De amit ő linkelt, abban nem multiple select volt, hanem sima select, ha megnézed én azért linkeltem kettőt, mert az egyik sima select volt, hozzá megfelelő feldolgozó kóddal, utána pedig egy multiple select, amiben már volt each.
Hát te most valahogy nagyon nem érted, hogy mit akarok ebből kihozni ugye?!
-
Jim-Y
veterán
válasz
Sk8erPeter #1881 üzenetére
Hát nem tudom, én azt értettem túlmisztifikálás alatt, hogy
$('#select').change(function () {
$("#select option:selected").each(function () {
var value = $(this).val();
....
}
});
});itt a belső $('#select option:selected").each -nek semmi értelme, mert nem tud az ember többet kiválasztani csak egyet, így ez felesleges, a
var value = ... bőven elég lett volna.Olyannak érzem ezt, mintha írnék egy ilyet
var alma = ['alma'];
for(var i=0;i<1;++i){
return alma[i];
}egy elemű tömbre, amennyiben tudjuk, hogy egy elemű, sem írunk iterátort, mert minek? De nem állítom, hogy nem értettem valamit félre, és trisztánt sem akartam megbántani, csak nekem ez feleslegesnek tűnt
-
Jim-Y
veterán
Nálam jó...
-
Jim-Y
veterán
válasz
Sk8erPeter #1877 üzenetére
igen, közben pont ez nézegettem én is, mondjuk szerintem az, hogy $(this).val(), vagy a $('#result').val() ebben a példában már édesmindegy..
de amugy igazad van, az a sor nekem se tetszett, szóval:
$('#select').change(function (value,index) {
$.each(value.target.selectedOptions,function(){
console.log(this.value);
});
});mielőtt még itt is felhozod, tudom, hogy a value.target helyett rögtön mehetne this.selectedOptions is, de nekem ez beszédesebb ^^
-
Jim-Y
veterán
válasz
trisztan94 #1874 üzenetére
Ezt egy kicsit túlmisztifikáltad szerintem, ugyanis ahogy létrehoztad a html-t, úgy nem tudsz többet kijelölni, így a kódban is rosszul kezelted le:
http://jsfiddle.net/Jim_Y/ddSUL/
Multiple selectekre:
-
Jim-Y
veterán
na, többet nem tudok erre áldozni, de ilyen "érdekes" dolgokat is lehet vele csinálni
http://jsbin.com/icinaz/8/edit -
Jim-Y
veterán
Az erőforráscsökkentést leginkább a probléma dekompozíciójával, vagy a probléma átgondolásával lehet csökkenteni.. Például ha a példában nem minden keyup-ra menne az autocomplete, hanem click-re (ikonon, gombon), vagy nem rögtön listázná a találatokat, hanem csak akkor ha az x teljesít valamilyen feltételt, akkor máris kevésbé lesz erőforrás igényes, ezt már csak te fogod tudni finomítani..
-
Jim-Y
veterán
válasz
Sk8erPeter #1847 üzenetére
Az első dologra: ja igen tényleg.. fck
A második dologra.. nekem kellett már csinálnom ilyet, de ott úgy csináltam meg, hogy 3 karakterig nincs autocomlete, ha már van 3 begépelt karakter akkor lehúzza egy adatbázisból a találatokat...Nyílván ha jobban ismerném a feladatot, akkor ezt meg lehetne oldani jobban is, mármint az utóbbit, előbbi felvetésedre most így hirtelen nem tudom mit kéne kitalálni :/
-
Jim-Y
veterán
Ez egy problémát már kiküszöböl: http://jsbin.com/icinaz/3/edit
-
Jim-Y
veterán
nem tökéletes még, de a koncepció látszik ...
-
Jim-Y
veterán
Udv. Telefonrol vagyok igy bovebben nem tudom kifejteni, de a [link] jquery autocomliteal meg tudod csinalni szerintem. Ez egy listat jelenit meg az input mezo alatt amibol tudsz valasztani. Ezt a listat tudnad koddal megkonstrualni azutan, miutan beirtad az x et, amit meg is tudsz jeleniteni.
-
Jim-Y
veterán
válasz
Sk8erPeter #917 üzenetére
Ezt nem jól tudod szerintem, az egy dolog, hogy i++ -t látsz mindenhol, más dolog, hogy a ++i -t kéne megjegyezni. Sok értekezést lehet erről olvasni, én megvédeni az igazamat nem tudom, ezt tanították, és a neten is ezt ajánlják ^^
mod: nálam ha nem deklarálom az i-t korábban, akkor a for(i=0.. -ra hibát dob, emlékeim szerint...
-
Jim-Y
veterán
szintaktikailag nem jó a for ciklusod, helyesen:
for(var i=0;i<texts.length; ++i)
a ++i az i++ ellenében nem hiba, csak előbbi használata javasolt, míg az i++ kiolvassa i értékét, és utána növeli, addig a ++i növeli i értékét, és csak utána olvassa ki. Több helyzetben is a ++i jobb.
példa:
i=5
j = i++
eredm: i=6,j=5i=5
j=++i
eredm: i=6,j=6üdv
-
Jim-Y
veterán
Szerintem erre tökéletesen jól használható a JQuery autocomplete plugin. Én ezt arra használtam, hogy:
-van egy jstree az oldalon, és meg kell valósítani a keresést benne
-raktam egy input fieldet a fa fölé, ha 3 karaktert beírok, akkor egy script megnézi az adatbázisban, hogy a 3 betűhöz található e egyezés a fabeli elemekre, ha igen, akkor a találatokat egy autocomplete mezőben jeleníti meg az input field alatt.
Tehát ha beírom, hogy abb, akkor ha van abba,abbrakadabra stb a fában, akkor csak azokat listázza.Gondolom egy ilyen működés neked is jó lenne nem? A pluginnek át lehet adni egy adatszerkezetet, amit az input field alatt megjelenít.
-
Jim-Y
veterán
válasz
Speeedfire #813 üzenetére
-
-
Jim-Y
veterán
Estét, van valami ötletetek arra, hogy jqueryvel, vagy php-val hogyan lehetne twitter üzenetet küldeni? Azt akarom megvalósítani, hogy ha bejelentkeznek mondjuk 5-nél többen az oldalra, akkor kódból küldenék egy tweetet előre beállított felhasználó twitterjére. Kerestem de nem találtam eddig megoldást :/
Ugyanez érdekelne email-re is. üdv
-
Jim-Y
veterán
válasz
Cathfaern #786 üzenetére
Igen, végül arra jutottam, hogy valami ilyesmi működhet:
function howmanyOnline(callback){
var query = "notify";
$.ajax({
type: 'POST',
url: 'http://localhost/qwaq/onthefly.php/', // !!!!!!!!!!!!!!!!!!!!!! EZT KI KELL MAJD CSERÉLNI
dataType: 'text',
data: {
query:query
},
success: function(data){
callback(data);
}
});
}amit így kell meghívnom:
howmanyOnline(function(data){
});és az adatot ezen belül tudom manipulálni, köszönöm a válaszokat
Karma: ez egy chrom-os kiegészítőben futna, vagy hát fut is, percenként csatlakozna a háttérben a szerverhez, ahonnan lekérné, hogy hányan vannak online, ha többen mint egy előre beállított érték, akkor küldene notifikációt, meg emailt, meg amit beállít a user..
-
Jim-Y
veterán
válasz
Sk8erPeter #784 üzenetére
Azzal kezdtem, hogy ezt elolvastam, de itt szinte minden a request-re vonatkozik, nem az adatra..
function howmanyOnline(callback){
var request = $.ajax({
type: 'POST',
url: 'http://localhost/qwaq/onthefly.php/',
dataType: 'text',
data: {
query:"notify"
}
});
request.done(function(data){
//alert(data);
return data;
});
}
Ez a kód, ha ezt meghívom valahol, akkor pár másodperc múlva kiírja az adatot (ha alertelem, és nem return-ölöm) , az a baj ezzel, hogy nekem úgy kéne meghívnom, hogy,pl:var num = howmanyOnline();
És ezért írtam be, mert a doksiban csak olyat találtam, ami a requestre vonatkozik. Jelenleg ha így hívnám meg a függvényt, akkor nem adná vissza az értéket, vagyis igen, de undefined, mert a return csak a request végét várja meg, nem azt a pár másodpercet, míg megjön az adat.
Talán a dataFilter lehet érdekes... utánanézek.
-
Jim-Y
veterán
Lenne egy kérdésem megint, hogy tudok olyan ajax callt csinálni, ami megvárja amíg minden adat megjön, és csak utána adja vissza az értéket?! Mert most az a gondom, hogy van egy olyan ajax-om amibe raktam egy return-t -> hiba volt, így a return undefined-al tér vissza, nem várja meg, míg befejeződik az ajax...remélem érthető
Szeretném callbackben visszaadni az adatot, hogy lehet ezt megcsinálni?
-
Jim-Y
veterán
válasz
Sk8erPeter #780 üzenetére
"A linkelt jsFiddle-példában meg nem vettem észre, hogy hű de szigorú ellenőrzés lenne, amikor ilyen "query-t" össze tudok pakolni:" írtam is, hogy ezzel még nem foglalkoztam.
Most nem fogm átírni a kódot, hogy a * simán szerepelhessen.. jó ez így ahogy van, így is működik jól..
De, erre vissza kell kérdeznem: Te komolyan ilyen szellemben kódolsz? nem, csak ebben a projektben.
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy Fit 3 - keveset, de jól
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen videókártyát?
- Épített vízhűtés (nem kompakt) topic
- Windows 10
- Változó design, tekerhető lünetta: megjött a Galaxy Watch8 és a Classic
- Windows 11
- Digitális Állampolgárság Program DÁP
- További aktív témák...
- 135 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090 (ELKELT)
- Xiaomi Redmi 9A 32GB Kártyafüggetlen 1Év Garanciával
- GYÁRI TÖLTŐK DELL LENOVO HP FUJITSU TOSHIBA Macbook---------- Budapest,/MPL/Foxpost
- Xiaomi Redmi Note 13 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS!Gigabyte B650M R7 7800X3D 64GB DDR5 1TB SSD RTX 3080Ti 12GB Corsair 4000D Airflow TG 750W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest