Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: A RAMválság és annak lehetséges hatásai
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Szólánc.
- eBay-es kütyük kis pénzért
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
Karma
félisten
Mi az, hogy nem lehet hozzáadni meg törölni? Milyen JavaScript doksit olvastál eddig?
Tüzeld el. A felszabaduló gázok is hasznosabbak mint a szöveg.Ez mind valid és működik:
// ures objektum
var o = {};
// hozzaadas (egyenertekuek)
o.a = [1, 2, 3];
o['b'] = [4, 5, 6];
// hozzaadas "full dinamikusan"
var key = 'c' + 2;
o[key] = [7, 8, 9];
// torles
delete o.a;
delete o['b'];
delete o[key]; -
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.
-
Sk8erPeter
nagyúr
Konkrétan mikre gondolsz? A fejlesztőpanel megismerése már önmagában is sokat segít.
Pl. lehet breakpointokat elhelyezni a scriptedben.
Van tényleg sok online forrás a Firebughoz kötődő eszközökkel (pl. gyors keresés alapján ez, bár speciel én a Firebugot kevésbé használom, de jó), meg amit Karma írt a JS topicban, NetBeans JavaScript Debugger, Eclipse-ben JavaScript debuggolása, stb. -
Sk8erPeter
nagyúr
Van még egy pár callback. Nem látom a hibakezelésedet, pl. 'error' callback. De van 'complete' callback is, ami függetlenül a hibától vagy sikertől, lefut. Ott például szintén végrehajthatsz ellenőrzéseket. Aztán van még 'statusCode', 'timeout'.
Habár elvileg a fejlesztőpaneled konzolján is látnod kellene, mi a helyzet. -
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 ilyet
Viszont ez egész jó összefoglaló pseudo-class-ekről, hátha szükséged lesz rá.Hányas jQuery-t használod?
-
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.
-
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"]
}
}); -
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/ -
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?!
-
Karma
félisten
Nem mondtad, hogy a felhasználó szövegdobozba írásáról van szó (ilyenkor tényleg csak egy change jön, fókuszvesztésnél, nem véletlen kell keyup eseményt használni), vagy selectről (amikor meg minden váltás change-et okoz).
Mint látod a zárójeles résznél, még nem győztél meg hogy tényleg időzítő kell...
-
Sk8erPeter
nagyúr
És honnan a t×kömből jön ez a "message" változó, amit ki kéne írnia?

PHP kód:
print "update";
Hát ez ebben a formában még nem PHP-kód...
De ezzel kapcsolatban lásd Jim-Y hsz.-ét (#2144)... nem ártana egy <?php sem... 
(#2143) Lacces :
"amin meglepődtem... a .php-nál nem a print-et kellett használni, hanem az echo utasítást! És akkor működött...
(Olyan, mintha a print-tel valami "szeny" is ájtött volna)."
Jaj ne beszélj már butaságokat...
Ezek a lényeges különbségek az echo és print között:
http://stackoverflow.com/questions/234241/how-are-echo-and-print-different-in-php
Egyébként abból a szempontból, amit írtál, kábé semmi... Szóval 10000000%, hogy valamit benézel.kódodból:
success: function (data) {
alert(data);
if(data =='update'){
}
......
}na az ilyeneket érdemes elkerülni. Már volt szó róla a topicban, hogy a szerveroldalról érdemes inkább beszédes információkat visszaadni JSON-ben, és akkor még van esély arra is, hogy értelmesen feldolgozható infókat kapsz.
Itt a hsz. végefelé elég részletesen leírtam az egyszerűsített példa keretében, hogyan is gondolom:http://prohardver.hu/tema/jquery_kerdesek/hsz_2058-2058.html
====
(#2145) Lacces
"Az Interval-on kívül mivel lehet még elérni, hogy ha megjelenik egy <html> tag (ajax után legenerálodik az oldalon) akkor induljon el a függvény?"
<html> tag miért jelenik meg, miért "generálódik le az oldalon"?
A kérdés enyhén szólva pongyolán lett megfogalmazva. -
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

-
Karma
félisten
Egyszerű: az eredeti formában egyszer kiértékelődőtt a $(selector), és onnantól kezdve a belső függvény mindig ezt a konkrét értéket használta fel.
Mondjuk nem egészen világos, hogy a kódod mit csinál. Ha egy mező értékét másolod egy másikba, miért nem a change eseményt használod?
A setInterval esetén egyébként is célszerű eltenni a visszatérési értéket, hogy a clearInterval segítségével megállíthasd az időzítőt. Különben minden survey híváskor újabb timer kezd tekerni...
-
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/
-
Lacces
őstag
Plusz még lenne egy. Az a baj, hogy hozzászoktam a keretrendszer nyújtotta kényelemhez, és az ajax / jquery most teljesen halál nálam.
a 'user' id-val rendelkező input-nál miért nem veszi ki az értéket?
<input id="user" type="text" name="User" />
<script type="text/javascript">
$(document).ready(function(){
var v = $('#user').val();
$('#kell').click(function(){
alert("bökd "+v+" ki");
});
});
</script> -
Sk8erPeter
nagyúr
"Mivel automatikusan postol az ajax, ezért jó hogy benne van a cache : false?"
Nem nagyon értem a kérdést, hogy jó-e, hát ha nem akarod, hogy cache-elve legyen a kérés eredménye, akkor jó, hogy "benne van".
Jó lesz az úgy."Illetve, hogy tömböt kapok vissza a php fájltól, annak a lekezelése így elfogadható az obj-al?"
Mutass már legalább egy példát rá, hogy milyen formátumban küldöd ki a választ PHP-oldalról!setInterval("ajaxStation()",20000);
Helyett
setInterval(ajaxStation, 20000);
Így egy függvénypointert adsz át, és az jól is van úgy.$("#track_name").html(obj.track);
$("#station_name").html(obj.station);
Gondolom azt vágod, hogy ezzel semmit nem fogsz betölteni a jPlayerbe. -
Sk8erPeter
nagyúr
Szerintem az swfPath lehetett nálad a problémás a jPlayer esetén.
Azt határozza meg, hogy hol van a Jplayer.swf. Nagyon fontos, hogy ez stimmeljen, mert azokban a böngészőkben, ahol valamelyik médiaformátumot nem tudja lejátszani a "nyers" HTML5-ös módszerekkel, akkor Flash-sel próbálja meg lejátszani (fallback).Másik kérdésre - PHP-vel változtatásra csak egy példa:
<?php
// ez nálad dinamikusan változik
$radioStation = 'http://87.117.193.10:8000/';
?>
<script type="text/javascript">
//<
A logolás igazából a console.log() függvénnyel a legegyszerűbb, mert ha itt nem stringet, hanem tömböt vagy objektumot adsz be közvetlenül, akkor azt egérrel ki tudod nyitogatni a Developer Tools/FireBug Console fülén. (Ha stringbe rakod, akkor csak a sokatmondó [Object object] szöveg lesz belőle
).Másik szép kiíratás, ha a weboldalra akarod tenni vagy valahol máshol felhasználni JS-ben, talán a JSON.stringify(valami, null, 4) hívás. De ez a függvényeket nem fogja kifejteni, ellentétben a konzollal.
-
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
-
Sk8erPeter
nagyúr
Amit itt írtál, jQuery UI Autocomplete segítségével összesen ennyiből megoldható:
$(document).ready(function() {
var options = [];
$('#projectlist option').each(function(index, Element) {
options.push($(Element).text());
});
$( "#searchProject" ).autocomplete({
source: options
});
});Működő demo:
-
Karma
félisten
Pont így kell használni

Nos az biztos, hogy az onkeyup ebben a formájában meg se hívódik.Egy kis módosítással már elkezd futni: [link], és a konzolon látszik, hogy a "search.size()" nem tetszik neki, szerinte nincs ilyen. Én se hiszem, hogy lenne ilyen függvénye. A Chrome Developer Tools nagyon hasznos ilyenkor.
Na nézem tovább.
Szerk.: Az is biztos, hogy a values tömböt nem a .each függvénnyel, hanem a .mappel szeretnéd előállítani, ugyanis az each semmi ilyesmit nem csinál, visszatérési értéke a jQuery wrapper, hogy több műveletet is össze tudj chainelni.
A map ezzel szemben egy új tömböt hoz létre a belül definiált transzformációval (azaz a val kinyerésével egy értéktömböt adna ki).
-
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.
-
Sk8erPeter
nagyúr
"Érdemes a normális jquery helyett, a mobilos változatát használni csak a weboldalaknál?"
Itt már a kérdést sem értem.(#679) Lacces :
"így már értem, miért nem nagyon találtam"
Hát akkor bénán kerestél.
Dunát lehet rekeszteni az ilyenekkel. A Karma által linkelt jQuery UI Dialog is teljesen jó egyébként ilyen célokra, setTimeouttal azt is úgy tünteted el, ahogy akarod, meg ugye a jQuery UI Effectjeivel még jól animálhatod is, tulajdonképpen egész nagy így a szabadságod.
De a Cathfaern és Speeedfire által linkeltek is nagyon jók, igazából variációk egy témára. A Pines Notify annyiban más, hogy kifejezetten csak ilyen értesítésekre való.(#678) Speeedfire :
én alapvetően szeretem az újrafelhasználható kódot, meg az újrafelhasználható plugineket. Ha egy plugint szépen sikerül konfigolni, testreszabni, "sminkelni", megismerkedtem vele, akkor a franc sem akar a drága idejéből arra áldozni, hogy újabbakat kotorjak elő, és anyázzak, ha mégis szar, hogy minek töltöttem vele egyáltalán időt.
-
Karma
félisten
Például a jQuery UI - Dialog a barátod.
A jQuery önmagában nem foglalkozik ilyesmivel. -
jeges
senior tag
nem igazán. a .html() nagyjából a js (dom) innerHTML tulajdonság értékét (azaz szövegesen az elem tartalmát, akármi is az) adja vissza. ellentétben a .val()-lal, ami nagyjából a js (ill dom elem) .value-t adja vissza.
inputoknak általában value-ja van (kivéve textarea pl.), div-nek, li-nek, és hasonlóknak inkább innerHTML.
a pontos használat jquery dokumentációban fellelhető (google-ban jquery + html/val) -
jeges
senior tag
hja, a többihez:
fejlesztőeszköz ízlés dolga, a js-hez sztem pont nincs szükség semmilyen komoly eszközre, én pl most kate-et (is) használok. debug-ra meg bármelyik böngésző kiegészítője alkalmas, a "nagyokat" általában úgyis végig köll nézni, működik-e a cucc.
chrome-on egyébként shft+ctrl+i, operán "elem kivizsgálása" a helyi menüben, ill. dragonfly telepítése után érhetők el a megfelelő funkciók.
szerver oldali munkában sokkal nagyobb segítség valami "rendes" fejlesztőkörnyezet (eclipse, netbeans).
de hangsúlyozom, hogy ezek csupán személyes tapasztalatok, kinek-kinek ízlése szerint. -
jeges
senior tag
lehet, hogy van némi fogalomzavar: ajax
ha elolvasod, látod, hogy az ajaxnak része a javascript (ill. valamilyen kód, ami adatot küld és fogad kliensen), így a jq eszközei is egy lehetséges ajax-megoldást alkotnak a kliens-oldalon. a kérdés tehát nem úgy merül fel, hogy ajax vs jq, hanem inkább jq vs dojo vs akármilyen js függvénytár (esetleg függvénytár nélkül, vagy - ezért lehet, többen megköveznek - akár flash).
ugyanakkor azt is látni kell, hogy az ajax nem a látványelemet, hanem a működést jelenti, amelyet jq-ban többé-kevésbé a $.ajax, $.get, $.post, $.load eljárások valósítanak meg. azaz nem attól ajax, hogy hogy néz ki a kosár, hanem attól, hogy milyen eljárással küldi-fogadja a kosár tartalmát a szerver felé. -
Brown ügynök
senior tag
A "Calling jQuery UI plugin methods" fájlban kétszer lett megadva a <script type="text/javascript"> a javascript kód előtt, egyiket vedd ki.
Érdemes figyelni a böngészőbe épített fejlesztői eszközt (chrome, IE ) vagy Firebugot (FF), hasznos az ilyen js hibák felderítésekor.

Szerk.: Látom a mester is a Chrome fejlesztői eszközét használja.

-
jeges
senior tag
két script tag-et egymásra nyitottál, ezért már megnyitáskor elszáll (16. és 18. soron)
hol teszteled, milyen böngészőben? nincs debug eszközöd, ami mutassa a hibát? nekem chrome-on egyből kihozta, hol a bibi, és gondolom nincs ez másképp operán és ff-on sem (a "rendes" fejlesztőeszközökről már nem beszélve)
-
jeges
senior tag
ha jól értrm, a text input onfocus eseményére kellene beállítani a kívánt radio checked tulajdonságát (tkp bármire lehet, de a legjobb 'checked' vagy true)
a html struktúra nélkül nem könnyű pontosat mondani, de valami ilyesmi:
$inputTxt.bind('focus',function(){
$radioBtn.attr('checked','checked');
});megjegyzem, nem véletlen sztem, hogy az onblur indítja a check-et, mint a kommentben is írva van, előfordulhat, hogy a user mégsem akarja szerkeszteni, csak véletlen kattintott oda. ezt az esetet nem árt kezelni, mivel ha már a focus-ra kijelölsz, az nem kívánt eredményre vezethet.
-
jeges
senior tag
csak sorban:
var event = jQuery.event - ez pontosan mit akar itt jelenteni? Melyik esemény megy bele az event változóba?
a jQuery.event objektum kerül az event-be (rövidebb, átláthatóbb)
setup() miért false-al tér vissza?
a return false itt az alapértelmezett működést akadályozza meg. bővebben: [link]
teardown() na az mi? és ott is miért fasle-al tér vissza?
a return false itt is ugyanezt jelenti, mint a többi esetben.
na és itt handler() miért van?
lásd a lenti linket
var az változót definiál, de én még nem láttam soha sem ezt a sort: var auto = false, id; ez most micsoda? Két értéket adok meg egy változónak?
két változót egy var-ban definiál, csak az egyiknek értéket is ad
Az algoritmusát valaki eltudná nekem magyarázni?
Illetve a bind('start', start) - ennél a 'start' a start egy javascript event type lenne? Nézegettem javascriptes event type-kat de nem találtam meg konkrétan a start vagy stop-ot, de click, mouseover és társait megleltem.az event.special alapjairól, működéséről itt olvashatsz.
-
martonx
veterán
tudod a html - js - sql - valamilyen háttér nyelv (php, .net, ruby) kombóban fejlesztés olyan méretű szopás halom, amekkora más nem létezik. Ezért tud létezni a Flash és a Silverlight. Bizony nincs mit tenni, mint várni, hogy egyszer hátha egységesebbek lesznek a böngészők, illetve a html5 hátha hoz valamiféle javulást.
Addig pedig gyakorolni, türelemmel lenni
Ja, és jquery-vel le tudod kérdezni a böngésződ verzióját, javaslom ennek függvényében írj két különböző kódot. Az egyik fog futni Chrome-on, a másik meg máshol.
-
jeges
senior tag
a toggleClass()-nak szerintem csak az osztály(ok)ra van szüksége, a 2000-et talán true-ként tudja értelmezni, de nem biztos, hogy a várt hatást éred el. nem .toggle()-ra lenne szükséged? - szerk: nem, látom, valóban .toggleClass() kell, de a 2000 helyett true-t próbálj meg írni ([link])
lehet, én vagyok lemaradva, de .effect() eljárás van egyáltalán? én ilyen szintaxist találtam hozzá:
selector.hide|show|toggle( "explode", {arguments}, speed ); -
jeges
senior tag
Új hozzászólás Aktív témák
- Kèszletről,azonnal vihető 9060XT! Már kamatmentes rèszletre is! Èrdeklődj!
- Xiaomi Redmi Note 14 Pro / 8/256GB / Káértyafüggetlen / 12Hó Garancia
- HIBÁTLAN iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3432
- Samsung Galaxy A53 5G / 6/128GB / Kártyafüggetlen / 12 Hó Garancia
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue - 1 ÉV GARANCIA, Kártyafüggetlen, 100% Akkumulátor,MS3379
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

Tüzeld el. A felszabaduló gázok is hasznosabbak mint a szöveg.
Pl. lehet breakpointokat elhelyezni a scriptedben.
Viszont 

A kérdés enyhén szólva pongyolán lett megfogalmazva.
Gondolom a json_encode() függvényt használod.
).


