Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Sziasztok!

    van egy ilyen div-et popupba gombnyomásra nyitó functionöm:

    function loadPrompt() {
    var text;
    $("#filesavediv").dialog({
    autoOpen: false,
    buttons: {
    Ok: function () {
    //valami kód
    },
    Cancel: function () {
    $(this).dialog("close");
    }
    }
    });

    $("#open").click(function () {
    $("#filesavediv").dialog("open");
    });

    body onloadban kerül meghívásra a loadPrompt, és van egy "open" id-jű button.
    működik.

    probléma a következő:
    van egy listás jobb gombos menüm, amire kattintva kellene ezt működésbe hozni.
    sehogy sem sikerül. van esetleg valamilyen ötletetek?
    természetesen a li id-je volt már open, próbáltam pár dolgot még, de nem igazán vagyok js guru.

    köszi! :R

    A jQuery-kérdéseket jobb lenne, ha a neki szánt topicba írnád:
    http://prohardver.hu/tema/jquery_kerdesek/friss.html

    "body onloadban kerül meghívásra a loadPrompt"
    Felejtsd el az onload-attribútumot, csak egy gány kényszermegoldás, amikor az ember a HTML-kódba beleerőlteti a JavaScript-kódot.
    Ha már jQuery-t használsz, akkor kerüljön inkább így a kódba (egy a lehetséges megoldások közül):
    $(document).ready(function(){
    loadPrompt();
    });

    Válaszd szét a különböző nyelvekhez tartozó kódokat, ahogy csak tudod. (Pl. ne keverd a HTML-kódot a JS-sel.)

    A többire meg akkor tudnánk válaszolni, ha megosztanád velünk a kódot többi részét is, azt sem tudhatjuk, hogy létezik-e #filesavediv azonosítóval ellátott elemed, létezik-e #open id-jú, kerül-e valamilyen hiba kiírásra a böngésző webfejlesztő paneljének konzoljára, és így tovább.

  • martonx
    veterán

    function OnSuccess(response) {
    $("#cel").empty();
    $("#cel").append("<table id=\"my_table\"> <tbody> <tr class=\"path\"><td colspan=\"6\">elérési út: "+response.Path);
    $("#cel").append("<tr class=\"title\"><td>Név</td><td>Létrehozás</td><td>Módosítás</td><td>Tulajdonos</td><td>Verzió</td><td>Méret</td></tr>");
    $.each(response.Properties, function (index, prop) {
    var txt = [
    "<tr class=\"data\"><td>",
    prop.Name,
    "</td> <td>",
    prop.CreationDate,
    "</td> <td>",
    ..........
    "</td></tr>"
    ];
    $("#cel").append(txt.join(''));
    });
    $("#cel").append(" </tbody></table>");
    }
    </script>

    ez a kód olyat produkál, hogy az első rész utániak már a táblán kívül keletkeznek:

    <table id="my_table">

    <tbody>
    <tr class="path">
    <td colspan="6"></td>
    </tr>
    </tbody>

    </table>
    <tr class="title"></tr>

    <tr class="data"></tr>

    <tr class="data"></tr>

    ez lenne a probléma. valószínűleg ezért van egy fehér helyköz a tábla első sora, és a többi sora között, valamint a colspan sem működik, nyilván ezért.
    ötletek? :R

    a másodikat köszönöm szépen, ezalapján menni fog a mouseover-rel is :R :R

    Jsfiddle légyszi.

  • Sk8erPeter
    nagyúr

    Sziasztok!

    összetettebb kérdés:
    volna egy futás közben ajax-szal frissülő oldal. a probléma a következő:
    ami még betöltés elején, egyből megjelenik table, az külön van a hozzá appendelt table elemektől.
    példa:
    betöltéskor: <table> <tr> ...... </tr> </table> <- ez lesz betöltés után, pedig én azt szeretném, hogy ne zárja le a table-t, vagyis hogy legalább frissítéskor ez olyan formában legyen, hogy a ...-be kerüljön BELÜLRE az új adatsor. jelenleg a /table tag után jön, újranyitott <table> tag nélkül, <tr> tag-ek közt. megoldható ez valahogy?

    másik:
    szeretnék a table sorainak aktuális indexével számolni. hogyan tudom ezt lekérni úgy, hogy annak a tr-nek a sorszámát adja meg egy adott osztályon belül (ne az összes tr-t nézze, csak egy bizonyos osztályba tartozóak (class="xxx")), amelyikre korábban rákattintva egy custom jobb gombos menü jött be? (ilyenkor ha a custom menüben elmegyek afölül az elem fölül, akkor változik az érték, vagy mivel nincs focusban a lap, ezért ezzel nem kell foglalkoznom, és ahol zajlott a katt, az marad az érték?)

    köszi :R

    1. Nyilván megoldható, de honnan kéne tudnunk, jelenleg milyen megoldást használsz, mit kapsz szerveroldalról, stb., hogyan korrigáljuk a hibádat az általad alkalmazott módszer ismerete nélkül?

    2. document.querySelectorAll használatával tudsz selectorra szűrni (tehát ehhez nem kell jQuery sem), aztán kikeresed a megfelelő elem indexét a tömbből, például - mostani agyi állapotomban rövid idő alatt ennyire tellett -:
    http://jsfiddle.net/ssdptwtb/
    (Jim-Y: vigyázz, anti-pattern, mert két darab return is van a függvényben, jujjujj. ;] :DDD Aztán még biztos találsz más antipatternt is. :D)

    BTW jQuery-vel, a .index() használatával ez picit rövidebb.

  • martonx
    veterán

    Sziasztok!

    összetettebb kérdés:
    volna egy futás közben ajax-szal frissülő oldal. a probléma a következő:
    ami még betöltés elején, egyből megjelenik table, az külön van a hozzá appendelt table elemektől.
    példa:
    betöltéskor: <table> <tr> ...... </tr> </table> <- ez lesz betöltés után, pedig én azt szeretném, hogy ne zárja le a table-t, vagyis hogy legalább frissítéskor ez olyan formában legyen, hogy a ...-be kerüljön BELÜLRE az új adatsor. jelenleg a /table tag után jön, újranyitott <table> tag nélkül, <tr> tag-ek közt. megoldható ez valahogy?

    másik:
    szeretnék a table sorainak aktuális indexével számolni. hogyan tudom ezt lekérni úgy, hogy annak a tr-nek a sorszámát adja meg egy adott osztályon belül (ne az összes tr-t nézze, csak egy bizonyos osztályba tartozóak (class="xxx")), amelyikre korábban rákattintva egy custom jobb gombos menü jött be? (ilyenkor ha a custom menüben elmegyek afölül az elem fölül, akkor változik az érték, vagy mivel nincs focusban a lap, ezért ezzel nem kell foglalkoznom, és ahol zajlott a katt, az marad az érték?)

    köszi :R

    Első kérdésed: Ez simán megoldható, nyilván valamit csak elrontottál.

    Masodik: Ez is simán megoldható, lekéred a releváns elemet, ahol a kapott tömbnek meg tudod nézni az indexeit.

  • Jim-Y
    veterán

    közben annyit változott a dolog, hogy ha a fileTree-beli mappa katt nem doubleclick, csak sima click, akkor megy a doubleclickre a table frissítése.
    de így ugye kissé igénytelen. olyan mód kéne, hogy lefusson a doubleclickre mindkét function, úgy, hogy nem tudom egy helyen megadni sorban, hogy fusson le az első és a második. valamiféle function append/delegate nincs esetleg?

    Így kód nélkül ezt elég nehéz megmondani. Egyébként tippre az első dblclick esemény kezelője megállítja a propagation-t.

    Event bubbling, Event delegation, Event capturing. Ezek mondanak valamit? Csak mert ezekkel kéne tisztában lenned ahhoz, hogy megoldd a feladatot.

    Úgy is megoldhatod, hogy ugyanabban a handlerben kezeled le mindkét funkciót.

    megj: és hidd el, ahhoz, hogy segíteni tudjunk, ebben az esetben egy jó leírásnál több kell. :( Például egy jsfiddle példa jól jönne. Valószínűleg onnantól sima liba lenne segíteni.

  • Sk8erPeter
    nagyúr

    na kicsúsztam a limitből
    közben annyit kiderítettem, hogy a fájltree egyes elemein nem megy csak a dolog, ha a semmibe kattintok e filetree boxon belül, akkor oké. tehát ha valami linkelve van, ott van gond. van valami ötletetek? köszönet

    Eléggé kapkodós a hibaleírásod, én semmit nem értettem belőle, lehet, hogy más sem fog. Mi az, hogy "de csak akkor megy az egyik, ha a másik nincs használva, pedig én együtt szeretném."? :F
    Kérhetünk egy minimalista példát (pl. jsFiddle-szemléltetéssel)?

  • martonx
    veterán

    sziasztok!

    valaki tudna egyszerű tutorialt az alábbiakra?
    -jobb gombra lenyíló menü néhány elemmel, esetleg kis ikonokkal a szöveg előtt
    -táblázat első oszlopába kellene feltétel szerint kis favicont betenni

    tudom, túl specifikus a dolog, és ilyen tutorial úgysem lesz, de egy alap tut + egy kis kiegészítő segítséggel is sokra mennék.

    előre is köszönöm mindenkinek! :R

    A jobb gombra menüt én a helyedben nem erőltetném, weben nagyon idegenül hat, ha a böngészők saját menüjét direktben felülba....od.
    Ehhez tutorial? Csinálsz egy táblázatot és beleteszed amit akarsz (mit értesz feltétel alatt? szerver oldalról vagy belerendereled feltétel szerint, vagy kliens oldalon js-el rakod bele), hol kell ehhez tutorial?

Új hozzászólás Aktív témák