- Vezetékes FEJhallgatók
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- 3D nyomtatás
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- Otthoni időjárás-állomás
- Továbbfejlődött a Keychron egéralternatívája a Logitech MX Masterre
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Nagyon erős ajánlattá kezd válni a SteamOS
- Vezeték nélküli fejhallgatók
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
Brown ügynök #1740 üzenetére
Így például.
Grátisznak az is benne van, hogy körbeforogjanak a divek -
Sk8erPeter
nagyúr
válasz
Brown ügynök #1740 üzenetére
Kösz, hogy reagáltál a hsz.-emre, na nekem mindegy.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #1732 üzenetére
Én azért nem válaszoltam erre, mert nekem nem annyira volt világos, hogy mi a feladat, mert nekem ez a "slideshow"-nak nevezett fadeOut()-olós, fadeIn()-elős megoldás eléggé villódzik, meg számomra nem teljesen egyértelmű az sem, miért kell manuálisan kiváltani a mouseleave()-et, nem az-e a cél, hogy egér fölévitelére reagáljon; plusz a "többi ne váltogassa a képeket" rész nem értem, mire vonatkozott, mihez képest többi; meg még egy volt, ami nem volt világos, hogy miért nem egy kész plugint használsz a célra, miért találod fel újra a kereket.
Ezek miatt nehezen tudtam megfogalmazni értelmes választ. -
Karma
félisten
válasz
Brown ügynök #1737 üzenetére
Miért ne lenne lehetséges?
Tegnap végül nem írtam, mert nem volt kapacitásom tesztelni (és bíztam abban, hogy más megteszi helyettem
), de semmi akadálya annak, hogy a mouseenter eseményben felhasználd a this-t (ami az adott elemre lesz beállítva). Bewrappeled jQuery objektumba és mehet a find és más szelektorok: $(this).find('img:first')... például.
-
Brown ügynök
senior tag
válasz
Brown ügynök #1732 üzenetére
Akkor nem lehetséges egy osztályra írt eseményt szűkíteni adott elemre? Mind az 5 slidernek id-t kell adnom?
-
Brown ügynök
senior tag
válasz
Brown ügynök #1718 üzenetére
Végül sikerült találnom egy kész megoldást: [link] Kicsit komplexebb a megoldás, mint ahogy elsőre gondoltam.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #1716 üzenetére
Gondolom nincs hozzáadva a jQuery UI library.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #1710 üzenetére
Így, IE8-ban tesztelve, jQuery UI, Color Animation:
if ($.browser.msie) {
$('.site div').mouseenter(function() {
$(this).animate({
backgroundColor: "white"
}, 5000);
}).mouseleave(function() {
$(this).animate({
backgroundColor: "#ddd"
}, 5000);
});
}Szerk.: a fadeOuttal egyébként Te csak eltüntetted az elemet:
http://api.jquery.com/fadeOut/ -
martonx
veterán
válasz
Brown ügynök #1705 üzenetére
modernizer
-
Brown ügynök
senior tag
válasz
Brown ügynök #1708 üzenetére
Explorer 9-ben villog: http://jsfiddle.net/PdTKG/6/
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #1705 üzenetére
Fel tudnád rakni ezt jsFiddle-re, hogy látható legyen, amire gondolsz?
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #498 üzenetére
Nem ártana látni a teljes kódot, hogy ezek a változók egyáltalán honnan jönnek.
Pl. van a create függvény:create : function () {
var access;
access = this.get_upload_rights(obj);
......
};Itt az "obj" nevű változót (objektumot) mégis honnan kapja? Honnan kéne annak ismertnek lennie? Lehet, hogy egyszerűen undefined-ot ad át ebben a formában a get_upload_rights függvénynek...
Meg azt én sem értem, hogy a get_upload_rights-ban a $obj már megint honnan jön, amikor elvileg csak az "obj" nevű változó lenne ismert, ha átadnád a függvénynek egyáltalán.
De ugye nem látjuk, hogy vannak-e mondjuk ilyen nevű globális változók... -
martonx
veterán
válasz
Brown ügynök #500 üzenetére
A $obj és az obj nem lehet, hogy elírás, és ez miatt nem teljesül az if feltétele?
-
martonx
veterán
válasz
Brown ügynök #498 üzenetére
Ez a függvény így hibásnak tűnik.
if (right == undefined){
if ($obj !== false) this.__callback({'obj' :$obj, 'right': function () {
get_upload_rights($obj, right)
}});
}Mert itt mit is látunk? Ha a right undefined, akkor lesz igaz a feltétel.
Majd meghívod a függvényt újra immár a right paraméterrel viszont az undefined.
Ez így ránézésre végtelen ciklusnak tűnik. -
Karma
félisten
válasz
Brown ügynök #479 üzenetére
Nem értek egyet, főleg azért ahogy most meg is harapott
Szerintem tisztább és világosabb az, ha látszik mi a lokális változó, és mikor akarsz a window propertyjei között turkálni.
Egyébként az Eclipse szokott is az ilyenekért warnt osztogatni
-
Karma
félisten
válasz
Brown ügynök #475 üzenetére
Átnevezés helyett megpróbálhatnád a var kulcsszót használni a lokális változóid előtt
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #469 üzenetére
"A "name" cella helyett [object Object] rak be ami nem túl elegáns."
Változtasd meg a "name" változónevet, pl. personName-re vagy valami egyedibbre. A "name" valami foglalt név, most hirtelen nem vágom, mire.
Mindenesetre megváltoztatva a nevet már jó lesz.
Gondolom ugyanez vonatkozik a második kérdésedre is.Szerk.: meg is van a válasz, hogy miért foglalt a "name" (ez előbb nem jutott eszembe):
[link]
"name is a property of the window object."
>>> [link], [link]"The name of the window is used primarily for setting targets for hyperlinks and forms. Windows do not need to have names."
-
martonx
veterán
válasz
Brown ügynök #469 üzenetére
A <>-ök a selectorba minek? Egyáltalán ez így működik? Ha véletlenül működik is, szedd ki őket onnan.
A name = $('<td>').html('Név'); pedig egy DOM select, ezt így nem tudod append-el alkalmazni.
name = '<td>Név</td>'; -t kellene használnod helyette.
Ha jól sejtem, hogy mit szeretnél.
Amúgy ha picit feljebb olvasnál (olvastál volna), akkor pont jquery temple-ekről volt szó. -
Sk8erPeter
nagyúr
válasz
Brown ügynök #456 üzenetére
Egyébként teljesen igazad van, elolvastam még egyszer, amit írtam, és tényleg úgy lehet érteni, szóval jó hülyén fogalmaztam, sorry.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #454 üzenetére
Nem, én most kifejezetten keretrendszerre gondoltam, mint a Kohana vagy ehhez hasonló, ha NEM CMS-ről (tartalomkezelő rendszerről) van szó, csak rossz volt a megfogalmazás módja. Arra gondoltam, hogy CMS-ek közül Drupalt használok, mást egyelőre nem, mert ez nagyon bevált; ezentúl alternatív mód a fejlesztésre a keretrendszerek használata, de az nem összekattintgatós.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #361 üzenetére
A klasszikus JavaScript-szintaktikáról beszél, pl.:
<div class="foo" id="bar">Blabla</div>
document.getElementById('bar').className ====>> ez egyenlő a "foo"-val.
Ugyanez jQuery-szintaktikával:
$('#bar').attr('class')
VAGY
$('#bar').attr("class")
tehát tökéletesen mindegy, hogy aposztrófot vagy macskakörmöt használsz, mindkettőre pontosan ugyanúgy működik!
Vagyis itt félreértetted:"WARNING: When setting the 'class' attribute, you must always use quotes!"
Ehhez hozzátartozik a korábbi példa is, amit ír:
$('#greatphoto').attr({
alt: 'Beijing Brush Seller',
title: 'photo by Kelly Clark'
});
When setting multiple attributes, the quotes around attribute names are optional.WARNING: When setting the 'class' attribute, you must always use quotes!
Tehát magyarul a korábbi példával élve így kéne beállítani egy title és class attribútumot:
$('#bar').attr({
title: 'this is the title of the >>bar<< element',
'class': 'foo and_one_more_class'
});Mondjuk aposztróf nélkül is működik, kipróbáltam.
(#357) jeges : mivel ez a jQuery topic, ne keverjük a hagyományos JavaScript-szintaktikát a jQuery-ben elérhetőekkel, mert az csak kavarodást okoz.
jQuery-ben teljesen jól működik a $('#bar').attr('class'), mint ahogy fentebb is írtam. -
jeges
senior tag
válasz
Brown ügynök #356 üzenetére
én erről beszélek. a dom objektumoknak nincs "class"-a, ezt a tulajdonságot "className"-nek hívják.
-
jeges
senior tag
válasz
Brown ügynök #353 üzenetére
őszintén szólva így még nem próbáltam, de valszeg az lehet az oka, h "class" attribútum nem létezik, csak "className" property.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #350 üzenetére
Nincs mit!
Szerk.: "átírtam ezt a részt <b> tagekkel oldottam meg a lapozhatóságot"
Na de remélem akkor azt úgy, hogy <li> tagbe raktad.Tulajdonképpen nem csak az volt a gond, hogy <p> paragrafus van a <li>-elemek közé beékelve, hanem hogy bármi más HTML-elemet közbeékelsz ezek közé, máris nem valid úgy a kód.
Tehát a következő NEM jó:<ul>
<li>blabla1</li>
<div>blabla2 div-ben</div>
<li>blabla3</li>
</ul>így már JÓ:
<ul>
<li>blabla1</li>
<li><div>blabla2 div-ben</div></li>
<li>blabla3</li>
</ul> -
Sk8erPeter
nagyúr
válasz
Brown ügynök #343 üzenetére
Igazából csak kiegészíteném a többieket.
Ami a második részben szerepel, nem könnyen bejárható, egyetértek, hogy bővítsd ki plusz egy egyértelmű taggal, ami jelzi, hogy itt mondjuk termékek következnek.Jó csúnyán leegyszerűsítve az, amit most generálsz, azt PHP-oldalon pl. így lehet előállítani (a lényeg szempontjából mindegy, PHP-oldalon mondjuk objektumokként kéred-e le vagy asszociatív tömb formájában; ezenkívül nyilván Te adatbázisból kéred le ezeket, tehát ebből a szempontból eltér a dolog, meg abból is, hogy ott egy normális ciklus formájában adod át az adatokat, de a lényeg érthető):
$products_page = array();
$products_page['page'] = 2;
$products_page['linkoffset'] = 0;
$products_page['maxpage'] = 3;
$products_page[] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$products_page[] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$json_return_value = json_encode($products_page);
echo $json_return_value;Ebből a generált JSON:
{"page":2,"linkoffset":0,"maxpage":3,"0":{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"},"1":{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"}}Na ehelyett a PHP-oldalról előállítható kódot ki kéne egészítened valahogy így (lásd a plusz 'products' indexet):
$products_page = array();
$products_page['page'] = 2;
$products_page['linkoffset'] = 0;
$products_page['maxpage'] = 3;
$products_page['products'][] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$products_page['products'][] = array(
'kep' => 'airtokoul.jpg',
'nev' => 'Air Tokoul ',
'marka' => 'Nike',
'regi_ar' => '20000',
'uj_ar' => '18000',
);
$json_return_value = json_encode($products_page);
echo $json_return_value;Na és ebből a generált JSON már így néz ki:
{"page":2,"linkoffset":0,"maxpage":3,"products":[{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"},{"kep":"airtokoul.jpg","nev":"Air Tokoul ","marka":"Nike","regi_ar":"20000","uj_ar":"18000"}]}Ez utóbbit pedig jQuery-vel - szerintem jól átlátható módon - így tudod bejárni:
$ul_obj = $('<ul>', {
id: 'products-list'
});
for(product_index in data.products){
$li_obj = $('<li>', {'class': 'products-list-element'});
$li_obj.html(
data.products[product_index].nev
);
$li_obj.appendTo($ul_obj);
}
$ul_obj.appendTo('#content-area');Hátha ez így segített valamit.
Kérdezz, ha valami nem tiszta. -
Sk8erPeter
nagyúr
válasz
Brown ügynök #331 üzenetére
Hibák:
- adott azonosítójú HTML-elemből csak egy legyen! Nálad egy for ciklusban generálódik le annyiszor "pager" id-val rendelkező <ul> lista, amilyen hosszú a data. (értsd: for ciklusba raktad az <ul id='pager'> legyártását)
- az <ul> lista közepébe egyszer csak beszúrsz (hozzáfűzöl) a <li> elemek után egy <p> bekezdést is, aztán folytatod a <li>-kkel. Ez így nem valid.
<ul>-en belül csak <li>-k legyenek, azon belül lehet tartalom, tehát akkor már egy <li>-be rakd a <p>-t.(#335) Brown ügynök : ahogy Karma is elmondta, NEM szükséges a parseJSON megfelelő használat esetén (hmm, emlékeim szerint a dataType-ot sem feltétlenül szükséges minden esetben megadni, bár én meg szoktam, hogy könnyen követhető legyen a kód, jól látható legyen, milyen formában várom az adatokat).
-
Karma
félisten
válasz
Brown ügynök #343 üzenetére
Az első nem valid JSON. A másodikat annyiban módosítanám, hogy a termékeket nem közvetlenül a root objektumba tömném be, hanem tennék egy plusz attribútumot mondjuk "items" néven.
Jeges megoldása sajnos nem működne így, mert az objektum minden attribútumán végigmenne a ciklus, nem csak a számokon.
-
jeges
senior tag
válasz
Brown ügynök #343 üzenetére
a 2. eset egyszerűbb (és tisztább is ha jól értelmezem):
var obj = {...};
for(var i in obj){
var kep = obj[i].kep;
} -
jeges
senior tag
válasz
Brown ügynök #339 üzenetére
for(var i = 0; i < data.length; i++){
var obj = jQuery.parseJSON(data);
product += '<section class="pbox"><article class="img"><img src="images/'+ obj.kep +'" alt="cipő" /></article>';
product += '<article class="info"><p>'+ obj.nev +'</p><p>'+ obj.marka +'</p>';
product += (obj.regi_ar > 0) ? '<p class="old">'+ obj.regi_ar +'</p><p class="new">'+ obj.uj_ar +'</p></article></section>' : '<p class="new">'+ obj.uj_ar +'</p></article></section>';
}data változó string vagy json? ha string, a length a szöveg karakteres hosszát fogja jelenteni. ha json, akkor pedig a json objektum tulajdonságainak számát. egyik esetben sincs sok értelme a for ciklusnak. ahogy most használod, akkor lenne értelmes, ha a data változó egy json stringeket tartalmazó tömb lenne (még akkor sem lenne jó, mert a második sor-ban nem data[i], hanem data szerepel), de ha jól látom, a response egy json string. ebben a környezetben a ciklusnak nincs értelme.
-
Brown ügynök
senior tag
válasz
Brown ügynök #339 üzenetére
Igen, rosszul adtam meg az id-t.
$('#products').empty().append( product );
-
jeges
senior tag
válasz
Brown ügynök #335 üzenetére
ha jól értem, Karma arra próbált rámutatni, h a fetch_assoc() kimenete egy kétdimenziós (adattábla-szerű) tömb, s a kód alapján gyanús, h az eredeti cél az lett volna, h nem a teljes adattáblát, hanem csak az első (és gondolom egyetlen) sorát told össze a $nav tömbbel.
-
Karma
félisten
válasz
Brown ügynök #333 üzenetére
Ez most a data, vagy a data[0]? Ezért lenne jobb a JSON stringet látni... Chrome-ban a Network fülön eléred a menet közben leAJAXolt tartalmakat is. Illetve a Console-ban be tudod kapcsolni az XMLHTTPRequestek loggolását (jobb katt a fehér területen), az is hasznos lehet.
-
Karma
félisten
válasz
Brown ügynök #331 üzenetére
Jó lenne látni most már a tényleges inputot is. A kódod szerint egy tömb a JSON root eleme, amiben objektumok vannak, page és maxpage tulajdonsággal...?
Azaz ilyennek képzelem el:
[ { "page": 1, "maxPage": 3}, { "page": 2, "maxPage": 3}... ]Mellesleg a kódod nem nagyon fogja azt csinálni, amit szeretnél szerintem. (A tömb minden elemére csinálsz egy <ul>-t).
---
Amúgy azt a mapet az előbb azért írtam, hogy használd fel
Szebb lesz végeredményben. Annak az eredményét (tömb) megadhatod egy append() hívásnak paraméterként, és így hozzácsaphatod az <ul>-edhez.
-
Karma
félisten
válasz
Brown ügynök #328 üzenetére
Ha a szervered az alábbi JSON stringet küldi le:
{
"pager": [ "Első", "Második", "Harmadik" ],
"etwas": [ "Foo", "Bar", "Baz"],
"answer": 42
}Akkor a data ezt az objektumot fogja tárolni, a tagjait meg pont úgy éred el, mint bármely más JS objektumnak, tehát pl. data.pager[0], vagy data.answer, vagy pl.
$.map(data.etwas, function() {
return $('<li>', { html: this });
}...---
Elvileg a post() "intelligent guess" alapján kitalálja, hogy egy JSON string jön le és beparsolja. De ha biztosra akarsz menni, a negyedik paraméterben megadhatod a dataType-ot. Bővebben.
Semmi szükség kézzel feldolgozni úgy, mint ahogy jeges írja előttem. Amúgy tisztább lehetőség a böngésző JSON parserét meghívni a JSON.parse() függvény formájában. JSON-ra konvertálni meg a JSON.stringify-jal lehet gyorsan és egyszerűen. De erre ismételten semmi szükség most.
-
jeges
senior tag
válasz
Brown ügynök #328 üzenetére
-
jeges
senior tag
válasz
Brown ügynök #326 üzenetére
js-ben:
var myjson = {
a: 1,
b: 2,
c: 3
}
var str = myjson.a;php-ban json_decode-dal tömbbe írod, és egyszerűen tömbként tudod használni.
-
Brown ügynök
senior tag
válasz
Brown ügynök #325 üzenetére
így sem találja meg:
var str = '<article id="content">GOTCHA!</article>';
content = $( str ).find( '#content' );
$('#products').empty().append( content);Csak ha az str-t próbálom beágyazni akkor működik. Valószínűleg a find()-al van a baj.
Más: Ha Json-t tömböt használnék, akkor hogy hivatkozhatok a kulcsokra?
-
Karma
félisten
válasz
Brown ügynök #319 üzenetére
Jó lenne még, ha breakpointtal vagy a console.log függvénnyel kiírnád a változóidat, seperc alatt kiderülne mi a hiba.
Szerintem egyébként az, hogy a data egy string, így nem tudsz id-re keresni benne.
-
Karma
félisten
válasz
Brown ügynök #319 üzenetére
Nem válaszoltál, hogy milyen jQuery függvényt használsz az adat lehívására. A kapcsolódó kódod másold ide kérlek.
-
jeges
senior tag
válasz
Brown ügynök #319 üzenetére
php-ban json_encode alakít json-ná egy tömböt, simán echo vagy print, amit elkapsz a kliensen.
-
Brown ügynök
senior tag
válasz
Brown ügynök #319 üzenetére
Ok, nézegetem a Json-t bár nem hiszem, hogy plain text hiba miatt nem működik.
-
Frigo
őstag
válasz
Brown ügynök #292 üzenetére
Az on() pont a live()-ot váltja le ami 1.7-től már deprecated lett meg amúgy se ajánlott a használata.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #288 üzenetére
Nem muszáj minden alkalommal meghívni újra és újra ezt a függvényt, jó lehet a .live() függvény is - tulajdonképpen erre való (létező és jövőben létrehozott elemekre való eseménykötés).
Példa:
$('.my_input_class').live( 'keydown', function() {
// your task........
}); -
Frigo
őstag
válasz
Brown ügynök #288 üzenetére
Annak a függvénynek a végén amelyikben az új input elemet adod hozzá a oldalhoz hívd meg újra ugyanezt a függvényt.
Illetve az is megoldás lehet ha on()-al kötöd rá az eseménykezelődet . -
jeges
senior tag
válasz
Brown ügynök #180 üzenetére
"hogyha mégsem választ ki egy sablonnevet, a begépelt szöveg ne tűnjön el a sablonnév inputból."
ha jól értem, a sablonnev inputot nem üríti a korábban írt kódrészleted, csak a template-et.
mindegy, sztem ez a három lehetőség van alapvetően:
1) ha a sablonnev változót vizsgálod:
if(sablonnev != undefined && sablonnev != "")$('#template').val(sablonnev);
2) ha a sablonnev id-jű inputot akarod vizsgálni:
if($('#sablonnev').val() != "")$('#template').val( $('#sablonnev').val() );
3) ha a sablonnev változóban tárolt id-jű inputot vizsgálod:
if($('#' + sablonnev).val() != "")$('#template').val( $('#' + sablonnev).val() );
-
Peter Kiss
őstag
válasz
Brown ügynök #175 üzenetére
onblur-ra paraméter nélkül hívod meg a függvényt, miért is rakna be bármit is, ha mindkét paraméter undefinied?
Másik tipp:
$val = $(sablonnev).val();
if ( $val == ""){
$("#template").val();
}
else{
$("#template").val($val);
}Helyett:
$("#template").val($(sablonnev).val()); -
martonx
veterán
válasz
Brown ügynök #175 üzenetére
F12 mit mutat?
-
jeges
senior tag
válasz
Brown ügynök #169 üzenetére
milyen adatbázis? mennyire vannak a kezedben a beállítások?
(csak zárójelben: ez valami migrációs probléma?) -
Peter Kiss
őstag
válasz
Brown ügynök #171 üzenetére
Ehh, valóban.
Erre marad megoldásnak az, hogy szerveroldalon beveted az iconv()-ot, vagy urlencode-olsz kliensoldalon, szerveren meg dekódolsz. (Ezzel is van egy kicsi probléma, iconv() ajánlottabb.)Ettől függetlenül nem árthat megnézni a fentieket (önmagukban megoldást nem nyújtanak a problémádra sajnos), mert néha későn jön rá az ember, hogy valahol el van tolva a dolog.
Ami az ultimate megoldás lenne, az az adatbázis átborítása UTF-8-ba (meg minden másé). Nekem is azért nem volt szem előtt ez a jQuery "megjegyzés", mert weben már UTF-8 a menő, főleg a MySQL 5 óta (HUN collation).
-
Peter Kiss
őstag
válasz
Brown ügynök #169 üzenetére
Ha szerveroldalon tolsz ki header-ben kódolást, akkor azt módosítsd.
Ha a HTML <head> részében meg van adva a kódolás, módosítsd. (És máshol is, pl.: XML)
Az összes fájl (.htm, .html, .php, js, .css, miegymás) karakterkódolását állítsd át latin2-re UTF-8-ról (Notepad2, Notepad++).Ennyi lenne.
-
Peter Kiss
őstag
válasz
Brown ügynök #155 üzenetére
$('iframe').first().contents().find('body').append('<img src="' + elem + '"/>');
Így használom (majdnem) egy CKEditor-nál képbeszúrásra.
-
jeges
senior tag
válasz
Brown ügynök #155 üzenetére
-
válasz
Brown ügynök #140 üzenetére
Több ezer sornyi kódnál már nem mind1!
-
Peter Kiss
őstag
válasz
Brown ügynök #138 üzenetére
Az 'input' és 'span' szavakat kiveheted a selector-okból, elég a #. Adott lapon azt az ID-t csak egy elem használhatja, nem kell feleslegesen túráztatni az értelmezőt.
-
Peter Kiss
őstag
válasz
Brown ügynök #136 üzenetére
<div id="0">-t nem kellene használni.
$(span2).html(data); nem működhet, mert ez van a span2-ben: 'partner2'+ $id
A helyes hívás: $('#' + span2).html(data) -
jeges
senior tag
válasz
Brown ügynök #134 üzenetére
function foo(){
var s = 1;
bar = function(){ return s+1; }
s = bar();
return s;
}
ha meghívod foo()-t, az 2-t fog visszaadni, mert a bar() tudja, hogy s = 1, ehhez ad hozzá még egyet. ugyanezt megteheted az onchange, onclick eseményekkel is, mivel azok is csak függvények. csak arra kell vigyázni, hogy a this mást fog jelenteni, a "kívül" definiált változók belül is használhatók.
szerk: a fenti mintájára pl.
function valami(){
var span2 = document.createElement("div");
span2.id = "span2";
document.body.appendChild(span2);var lm = document.getElementById("elemem");
lm.onclick = function(){
document.body.removeChild(span2);
}}
lm.onclick tudni fogja, mit értesz span2 alatt, mivel azt "kívül" definiáltad már.
-
jeges
senior tag
válasz
Brown ügynök #132 üzenetére
egyébként oda is lehet, de ha jól értem, most erre nincs szükség, hiszen ajax hívással operálsz. úgy értem
<head><script type="text/javascript">obj.onclick = function(){}</script></head>
ehelyett:
<body><div onclick=""></div></body>előbbi esetben sokkal könnyebb követni a változókat szerintem, és könnyebb kihasználni az egymásba ágyazhatóság előnyeit is.
-
jeges
senior tag
válasz
Brown ügynök #130 üzenetére
nos igen, itt sztem meggondolandó, hogy ne inline .onclick-et használj
-
jeges
senior tag
válasz
Brown ügynök #127 üzenetére
ezek szerint ezt már próbáltad?
<select onchange="changePartner1(this, 'partner20', 'partner30' );" > -
Brown ügynök
senior tag
válasz
Brown ügynök #126 üzenetére
Tehát amikor megváltoztatom az első menű állapotát (changePartner1()) akkor már kész van a span2, span3-ba tölteni kívánt partner20, partner30 span (id).
-
jeges
senior tag
válasz
Brown ügynök #120 üzenetére
nem teljesen világos: partner20 lesz az új elem id-je vagy ő maga a div, ami megjelenik? előbbi esetben macskaköröm közé tenném, utóbbi esetben viszont inline kód helyett inkább head-ben definiálnám az onclick-et.
-
martonx
veterán
válasz
Brown ügynök #120 üzenetére
ennyiből nehéz megmondani.
Talán ha a changePartner1-et leírnád, mert a hiba nyilván abban lesz. -
válasz
Brown ügynök #99 üzenetére
$('#cikkszam'+ ct +'').html(cikkszam_val);
A val() input tagnél használatos.
-
Lacces
őstag
válasz
Brown ügynök #96 üzenetére
Köszönöm!
Tényleg, nem vettem figyelembe a class előtti " jelet amivel az id-t már alapból zárom... (és mindenképpen igyekeztem egyet még oda rakni). Köszi!
-
Lacces
őstag
válasz
Brown ügynök #88 üzenetére
jeges és Brown ügynök köszönöm a segítséget!
Firebug nekem nem jelezte... igaz javascriptre sosem használtam, de nem láttam volna érte, hogy visítana.
Google Chrome, nekem még új volt. Aztán feltűnt egy kis piros x, meg aztán egy másik ablak is, nagyon jó! Tetszik nagyon!
Bár arra még nem jöttem rá, hogyan lehet a CSS-hez új tulajdonságot beszúrni mint a Firebugnál.
Most már ezt is megtanultam.Amúgy mint fejlesztő eszközt jQuery-hez mit ajánlotok? Én most egy sima notepad++-ot használtam, de az lazán átugrott a hibán :-D
Ha ősztől lesz állásom, akkor kaptok egy karton sört, vagy amit szeretnétek :-)
Másik kérdésem:
Bevásárló kosarat érdemes jQueryvel megvalósítani? Vagy inkább Ajax-xal szokás?
Nézegettem a google-n 2 órán keresztül. Egy Drag and Dropos bevásárló kártya tutorialt találtam, de azt néhány lehurogták, hogy hasztalan meg borzalmas a kód (bár én kezdőként semmi rosszat nem találtam benne). A másik meg nem működött!
És észre vettem, hogy sok bevásárló kártya ajax-xal van megírva.
Most elgondolkotam azon, hogy érdemes-e jQuery-ben ilyet csinálni? (mert elég keveset láttam google-n, meg ami volt is olyan, hogy is mondjam, nem felhasználó barát)Érdekel ez ügyben a véleményetek!
-
jeges
senior tag
válasz
Brown ügynök #83 üzenetére
én az csinálnám, hogy a selectnek adnék classt vagy id-t
ha ez megyvan, akkor pedig$(".selectclassname").children("option").each()
$("#selectid").children("option").each() -
jeges
senior tag
válasz
Brown ügynök #79 üzenetére
és még egy megjegyzés (mely azonban nem csorbítja a megoldások értékét):
if($('option[value="'+ tcs +'"]').val() == tcs )$('option[value="'+ tcs +'"]').attr("selected", "selected");
itt sztem nincs szükség az if-re, ezzel ugyanazt éred el:
$('option[value="'+ tcs +'"]').attr("selected", "selected");
if a többi option kijelölésének feloldásához kell(het), ahol a value nem tcs.
-
jeges
senior tag
válasz
Brown ügynök #79 üzenetére
hol írják ezt a korlátot? én nem találtam.
szerk: sőt, ez arra utal, hogy normál kijelölők simán használhatók ("When called it iterates over the DOM elements that are part of the jQuery object.")
közben kipróbáltam, simán megy bármilyen selectorral....
-
jeges
senior tag
válasz
Brown ügynök #79 üzenetére
+ megjegyzés: ha összetett kijelölő nem megy, használhatsz pl. children()-t:
$(".selectClass").children(".optionClass").each(function(){ <code> });+ megjegyzés: ezt csak "vakon" mondom, de szerintem nincs nagy különbség a halmazzal visszatérő kijelölő és az each() között gyorsaságban, mivel így is úgy is végig kell mennie a programnak az összes opción.
-
jeges
senior tag
válasz
Brown ügynök #77 üzenetére
a select-nek lehet külön id-t vagy class-t adni, az meglehetősen egyértelmű szokott lenni
én így csinálnám:
$(".optionClass", ".selectClass")de css-szerűen is lehet:
$("option.optionClass")a [name=] kijelölőnek is működnie kellene, de egyáltalán nem vagyok meggyőződve róla, hogy a $(this) jól működik, mivel az if() önmagában nem módosítja a $(this) értékét. pont ezért jó az each(), mert a benne foglalt callback függvényben már lehet hivatkozni az aktuális elemre.
-
jeges
senior tag
válasz
Brown ügynök #71 üzenetére
ugyanígy, csak loop-olsz az option tageken
ill jq-ben .each() talán komfortosabb:var val = <keresett érték>;
$("option").each(function(){
if( $(this).val() == val )$(this).attr("selected", "selected");
else $(this).removeAttr("selected");
}); -
jeges
senior tag
válasz
Brown ügynök #69 üzenetére
option tag selected tulajdonságát állítsd be
(mondjuk arra nem árt figyelni, hogy a többi option-nek ne legyen selected tulajdonsága, ha nem választható ki több elem egyszerre)dom-ban ez valahogy így néz ki:
<select size=1>
<option name='opt1' id='opt' value='1'>1</option>
<option name='opt2' class='opt' value='2'>2</option>
<option name='opt3' class='opt' value='3'>3</option>
</select>és a kijelölés:
$('#opt').attr('selected','selected');a többre pedig:
if($('.opt').attr('selected'))$('.opt').removeAttr('selected'); -
Lacces
őstag
válasz
Brown ügynök #45 üzenetére
Köszi!
Új hozzászólás Aktív témák
Hirdetés
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Vezetékes FEJhallgatók
- Miskolc és környéke adok-veszek-beszélgetek
- Óvodások homokozója
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Kecskemét és környéke adok-veszek-beszélgetek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Revolut
- 3D nyomtatás
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest