Hirdetés
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- Tóth Olivér: Kedvenc processzorok:
- GoodSpeed: Te hány éves vagy?
- Magga: PLEX: multimédia az egész lakásban
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Szólánc.
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Keem1
veterán
Srácok, a jQuery topik nem igazán aktív, így kicsit offként, de ide írom a problémámat.
Adott ez a kódrészlet:
$(document).ready(function()
{
$(".iconlamp").click(function()
{
if ($(this).data("deviceid") != null)
{
$.getJSON(hubaddress+"/smarthomeapi/toggle/"+$(this).data("deviceid"), function (responsejson)
{
$("#status").text(responsejson.displayname + (responsejson.state != true ? " kikapcsolva" : " bekapcsolva"));
});
}
});
});Ez pedig a related HTML:
<h1>Smart Home</h1>
<div class="devices">
<div><span class="icon iconlamp" data-deviceid="vfNVnFFZX9XrAgQF"></span>Spotlight<small>SonOff</small></div>
<div><span class="icon iconlamp" data-deviceid="twYSpcyO4Z2Dt9vX"></span>Desk Lamp<small>Xiaomi</small></div>
<div><span class="icon iconboiler" data-deviceid="KSnlcaoerJkPv8xw"></span>Bojler<small>SonOff</small></div>
</div>
<div id="status"></div>Ez gyakorlatilag egy Sonoff mögötti lámpát kapcsolgat, frankón. Viszont, az API egy JSON-t ad vissza, amiben többek között benne van, hogy fel- vagy lekapcsolt állapotú-e a lámpa, ezt a GUI-n lévő ikonra is rávezetném (lekapcsolt, felkapcsolt lámpa ikon, pure css). De a $.getJSON alatt sehogysem tudom elérni a parent objektumokat, nekem igazából az AJAX fölötti, if-ben lévő $(this) kellene, de a xy.parent() se vezet eredményre, az xy.parent().parent() se működik, ezt halmozhatom akármeddig, az ajax objektumba beszorul az egész, följebb nem tudok menni.
Tehát összefoglalva... Van pár div-em (jelenleg 3 db), amikben egy-egy lámpa ikon (inline-block span) a backgroundja. A span (majd később pedig a parent div, de ez most mellékes) elemre kattintva ki/bekapcsolom a lámpát (toggle API), amire visszajön egy JSON, benne az aktuális státusz (responsejson.state = true/false). Eddig minden fasza. Viszont a true/false alapján, az adott span-nek kéne a class listáját módosítani [addClass() / removeClass()], de nincs mit, mert a span objektumra nem tudok hogy hivatkozni. a $(this).parent() nem működik, folyamatosan a getJSON objektumot kapom vissza.
Hogy tudnám ezt a problémát áthidalni?
Új hozzászólás Aktív témák
Hirdetés
- Apple MacBook
- TCL LCD és LED TV-k
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Könyvajánló
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- iPhone topik
- Commodore 64
- Napelem
- További aktív témák...
- vizes GAMER PC - RYZEN 5 7600X, 32GB DDR5, RTX 5070 12GB, 1TB NVMe
- Eladó iPhone 13 Pro Max 128GB Graphite Vadonatúj, nem aktivált!
- Bontatlan LG UltraGear 32GX850A-B 3 év garival eladó!
- HP Victus 16 i5-11400H 16 GB RAM 512SSD RTX 3050 4 GB FHD 144Hz
- Apple MacBook Air 15 M4 Éjfekete bontatlan // GARANCIA // INGYENES SZÁLLÍTÁS
- BESZÁMÍTÁS! ASUS ROG Z270F i7 6700 16GB DDR4 512GB SSD RX 6500 XT 8GB Rampage SHIVA ADATA 600W
- LG 27GR83Q-B - 27" IPS / QHD 2K / 240Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
- BESZÁMÍTÁS! MSI B450M R5 5500 16GB DDR4 512GB SSD RX 7600 8GB Rampage SHIVA ADATA 600W
- LG 34WQ75X-B - 34" Ívelt IPS Panel - 3440x1440 2K QHD - 60Hz 5ms - FreeSync - USB Type-C 90W
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest

