- Google Chromecast topic
- Szentjánosbogárral venné fel a versenyt a Macbook Neo ellen az Intel
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Sony MILC fényképezőgépcsalád
- Apple MacBook
- Milyen TV-t vegyek?
- Milyen ÚJ notebookot vegyek?
- Bambu Lab 3D nyomtatók
- Fokozatosan erősít majd a szerverpiacon az Intel
- Fejhallgató erősítő és DAC topik
- bullseye: Clickbait szülinapi sorsolás II - még drágább a clickbaited
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- MasterDeeJay: Low budget (50.000 forint) light gémer gép összerakása
- djculture: Az elvileg már senkinek nem kellő HDD-k ára is egekbe emelkedett 4 hónap alatt
- sziku69: Fűzzük össze a szavakat :)
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
-
Mr. Y
őstag
A
querySelectornem támogatja a ‘title’ attribútum alapján való közvetlen lekérdezést. Az ‘undefined’ érték oka az lehet, hogy a ‘title’ attribútumot nem megfelelően próbáltad lekérni. Viszont attribútumokat is lehet használni a ‘querySelector’-ban, csak a szintaxisra kell figyelni.const checkbox = document.querySelector('input[type="checkbox"][title="Módosítás alatt"]');console.log(checkbox.checked);Mivel a részleges ID alapján már sikerült lekérned az elemet, az is egy jó megoldás, de ha mindenképp a ‘title’ attribútum alapján szeretnéd megoldani, akkor a fenti kód megfelelően fog működni.
-
hiperFizikus
senior tag
Sziasztok!
Van az oldalon 1 checkbox:
<input type="checkbox" id="ModositasAlatt_e06f20d0-a9c0-450c-a492-150374743dd1_$BooleanField" title="Módosítás alatt">
Js-ben egy egyszerű change eventet szeretnék rá. Viszont nem sikerül a queryselect.
Chrome consolba beírva is undefined eredménnyel tér vissza.Próbáltam az ID-val, a title alapján, queryselectAll-al is, hogy minden checkboxot, de az is undefined. És ezt az oldal betöltése után, szóval az sem lehet a gond, hogy akkor akarok hozzányúlni, mikor még nem jött létre.
Egy sima checked státuszt nem bírok lekérni...Valakinek valami ötlet?
próbáld meg az undefined -et elcsípni két console.log() között
-
Lokids
addikt
Sziasztok!
Van az oldalon 1 checkbox:
<input type="checkbox" id="ModositasAlatt_e06f20d0-a9c0-450c-a492-150374743dd1_$BooleanField" title="Módosítás alatt">
Js-ben egy egyszerű change eventet szeretnék rá. Viszont nem sikerül a queryselect.
Chrome consolba beírva is undefined eredménnyel tér vissza.Próbáltam az ID-val, a title alapján, queryselectAll-al is, hogy minden checkboxot, de az is undefined. És ezt az oldal betöltése után, szóval az sem lehet a gond, hogy akkor akarok hozzányúlni, mikor még nem jött létre.
Egy sima checked státuszt nem bírok lekérni...Valakinek valami ötlet?
A részleges ID kijelöléssel sikerült. De nem értem továbbra sem, hogy a title atrribútum alapján miért nem.
const idEleje = "ModositasAlatt_";const checkbox = document.querySelector(`input[type="checkbox"][id^="${idEleje}"]`);console.log(checkbox.checked) -
lanszelot
addikt
Vagy berakod 2 div-be 1 alap 2 készültség,
Position absolute mind a 2 , mind a 2 100% ot töltse ki.
Gombbal z-index -et váltogatod.
Így nem kell elemenként display none/block -al játszani.
Erre adhatsz effekteket: lapozás, áttünés...stb -
sztanozs
veterán
Ti hogyan oldanátok meg, hogy van egy 2 lapos form, amint van egy Alapadatok és egy Készültség gomb, amikre kattintva váltana közöttük.
Létrehozni egybe az egészet és a gombokkal csak elrejteném a megfelelő elemeket (js-ben hidden=true a div-re ami nem rendelkezik az adott classal), vagy van ennek valami jobb, logikusabb módja?Siman, de ha kell szerver oldali validacio a masodik form elott, akkor mehet XHR-rel is.
-
martonx
veterán
Viszont újabb probléma, hogy a fetch később tölti fel, mint hogy a kód használná.
Mi a normál módszer arra, hogy a kód további része csak azután piszkálja, hogy feltöltődött?
Be tudnék állítani egy intervalt, hogy folyamat ellenőrizze, hogy a length > 0.
Mert úgyis egy input mező onchange effektje használná az adatot összehasonlítás és infó kiírás miatt. Van ennél egyszerűbb/jobb/elegánsabb megoldás?
Át kell néznem, mi is az a callback és hogyan tudnám itt használni...Amit végeredményként akarok.
input mezőn kiválasztja a user az opciók közül az egyiket, ennek hatására az értékét összehasonlítja a tömbben lévő objektek kulcsaival. Egyezés esetén a kulcshoz tartozó érték egy <p>-be kerül kiírásra.
A fetch nyilván csak 1x fut le. És gondolom nem kell megvárnia, míg a teljes Dom betöltődik, mert nem függ az oldaltól, máshonnan jön az infó.
Esetleg felesleges a várakoztatás, mert mire az ember rákattint, addigra rég megvan?
Mondjuk anélkül nem fog menni consolra kiiratni ellenőrzéshez.Ez esetben nyilván be kell várnod a fetch eredményét. Mondjuk állítsd disabled-re, amit nem akarsz hogy piszkálni lehessen, amíg az adatok meg nem jönnek. Amikor megjönnek az adatok, meg leszedheted a disabled-öt.
-
disy68
aktív tag
Sziasztok!
Szeretnék Sharepoint listából lehívni adatokat. Viszont gondom van azzal, hogy egy objektumba csak a szükséges dolgokat mentsem le:fetch(webUrl + "/_api/web/lists/GetByTitle('" + listName + "')/items?$select=*,FieldValuesAsText&$expand=FieldValuesAsText", {method: "GET", headers: {"Accept": "application/json; odata=nometadata"} }).then(response => {if (!response.ok) {throw new Error('Network response was not ok ' + response.statusText); } return response.json();}).then(data => {var results = data.value;var FieldValues = results[0]["FieldValuesAsText"];var fields = Object.keys(FieldValues);console.log(fields)var res = Object.fromEntries(Object.entries(results).filter(([key, value]) => key === "Title" || key === "Program") );console.log(res);})A fields-et megnézve biztosan van Title és Program kulcs, mégis üres a res.
Hogyan kell objektumot szűrni? Csak az adott kulcsokat és értéküket szeretném tárolni.ha jól értem a results egy tömb és te annak az elemeit szeretnéd átalakítani, szóval végig kell rajta iterálnod előbb
pl.
[{FieldValuesAsText: {Title: 'title', Program: 'program', OtherField: 'not needed'}}]ha szeretnél maradni a jelenlegi formánál, akkor valami ilyesmi kéne legyen:
const res = results.map(x => Object.fromEntries(
Object.entries(x.FieldValuesAsText).filter(([key, value]) => key === "Title" || key === "Program"));vagy egyszerűbben:
const res = results.map(x => {title: x.FieldValuesAsText.Title, program: x.FieldValuesAsText.Program}) -
Lokids
addikt
Köszi.
Bár nálam astopPropagation()nem működött.Az e.target !== e.currentTarget se.
Viszont target/currentTarget logja megmutatta, hogy bár a .container div kapja a clicket. A target minden esetben a .label div lesz.így a e.target.classList.value !== 'label' lett a megoldás.
Csak ez nem fog működni, hogyha több classt is tartalmaz egy div.
contains('label') tökéletes lett.
Működik ahogy kell.
-
zharkanyi
tag
Sziasztok!
Van egy .container Div-em, ami egy accordion, click eventre nyílik, csukódik.
A problémám, hogy a div-en belül bárhová kattintok összecsukja. Mármint a Div-en belüli child elementekre is. Hogyan tudom ezt megakadályozni?
Mivel input field van benne, így fontos lenne, hogy ha belekattintok ne csukja be.const accordion = document.getElementsByClassName('container');
for (i=0; i<accordion.length; i++) {accordion[i].addEventListener('click', function (event) {if (event.target.closest('.container') === this) {this.classList.toggle('active');}})}Itt nézz szét és válaszd a neked szimpatikus megoldást:
[link] -
Bzozoo
tag
-
Mr. Y
őstag
Sziasztok!
Tud valaki adni valami linket, kódrészletet, hogy hogyan kell js-ben olyan input fieldet csinálni, ami AD-ból autofill hozza az adatokat?
azaz ha elkezdem beírni, hogy Kovács, akkor dropdown kiadja mondjuk az első 3 kovács nevűt és ha az egyik jó nekem akkor kattinással be is emeli?Az egyik megoldás, hogy letöltöd az összes adatot egy
<datalist>elembe és ehhez társítasz egy<input list>-et. A tövábbiakban automatán, külső kódolás nélkül csinálja azt, amit szeretnél.A másik esetben nem töltöd le az adatokat előre, hanem a szervert hívogatod ész nélkül minden karakter leütést követően, pl Fetch API-val. Ekkor egy egyszerű eseményfigyelőt kell alkalmazni az
<input>mezőre JS-ben és elküldeni az értéket a szervernek. Ott feldolgozás után visszaadja a válaszokat, pl egy JSON-t, amit kliens oldalon dolgozol fel.Kb ennyi.
-
Bzozoo
tag
Sziasztok!
Tud valaki adni valami linket, kódrészletet, hogy hogyan kell js-ben olyan input fieldet csinálni, ami AD-ból autofill hozza az adatokat?
azaz ha elkezdem beírni, hogy Kovács, akkor dropdown kiadja mondjuk az első 3 kovács nevűt és ha az egyik jó nekem akkor kattinással be is emeli?Adni nem tudok de meg tudnám csinálni
-
lappy
őstag
-
Bzozoo
tag
Értem. Azt hittem, hogy valamilyen éles project része.
A hiba megértéséhez mutatok még egy kódot. Itt láthatod, hogy a counter 10 marad, tehát a setInterval indításakor a counter érték "ég" bele a függvénybe, tehát a függvény nem a counter aktuális értékével fut, hanem a régivel
https://snack.expo.dev/@bzozoo/countdown-useeffect-problem
Itt egy lehetséges jobb megoldás useRef használatával. Itt a counting függvénybe már mindig az aktuális érték kerül:
https://snack.expo.dev/@bzozoo/countdown -
Bzozoo
tag
Nézd meg console.log-gal, hogy mi történik az első esetben és a második esetben
https://snack.expo.dev/@bzozoo/second
https://snack.expo.dev/@bzozoo/start-and-secondAmúgy nem tudom, hogy mire kéne ez neked, de biztos, hogy másként is meg lehetne oldani.
-
Lokids
addikt
vsCode.
Kicsit átírtam, most így néz ki, de a probléma, hogy figyelmen kívül hagyja az if-et, az megmaradt:
const [clocks, setClocks] = useState({breakCount: 5,sessionCount: 25,})const [szunet, setSzunet] = useState(true)const [start, setStart] = useState(false)const [secound, setSecound] = useState(25*60)useEffect(()=> {let interval = null;if (start){interval = setInterval(() => {if (secound === 0){if (szunet){setSecound(clocks.breakCount * 60)setSzunet(!szunet)} else {setSecound(clocks.sessionCount * 60);setSzunet(!szunet)}} else if (secound > 0) {setSecound((prev) => prev - 1)}},100)}else{clearInterval(interval)}return () => clearInterval(interval)}, [start])Az if (secound ===0) nem teljesül 1x sem. Pedig eléri a 0-át. Majd utána -1, -2 stb...
Megvan. A secound-ot is hozzá kell adni a dependency-hez.
Bár nem teljesen értem, hogy miért. -
pch
senior tag
Megtudja valaki mondani mi a gond ezzel a useEffectel?
Gombnyomás a start-ot true/false-ra állítja.
Szóval start gomb true-ra állít, onnantól futnia kéne, de!beállítja a másodpercet 59-re, de onnantól másodpercenként 1-et von le a minutes-ből. Pedig akkor a secounds már !==0 szóval nem kéne belépnie abba az if-be.

useEffect(()=> {let interval = null;if (start){interval = setInterval(() => {if (secounds === 0) {if(minutes !== 0){setSecounds(59);setMinutes((perc) => perc-1)} else {let minut = ticking ? minutes : clocks.breakCount;setMinutes(minut)setSecounds(0)setTicking(!ticking)}}else{setSecounds((ms) => ms - 1)}},1000)}else{clearInterval(interval)}return () => clearInterval(interval)}, [start])Hol kap értéket a secounds??
Milyen fejlesztőkörnyezetet használsz? -
hiperFizikus
senior tag
-
Bzozoo
tag
Meg tudná valaki mondani, hogy codepen.io-n hogyan kell React-t használni?
Babel van és additional resourcenek be van rakva a react-dom és a react is.
De a vs code-ból átemelt import React, {useState} from "React"-ra hibát dob.
Honnan kellene importálni? Ha a resource full linket teszem be, akkor meg "ambiguous indirect export: default"-ot kapok.
const { useEffect, useState} = React
-
disy68
aktív tag
ha már téma volt nemrég a reduce függvény, itt egy példa azzal is
const perChunk = 2 // items per chunk
const inputArray = ['a','b','c','d','e']
const result = inputArray.reduce((resultArray, item, index) => {
const chunkIndex = Math.floor(index/perChunk)
if(!resultArray[chunkIndex]) {
resultArray[chunkIndex] = [] // start a new chunk
}
resultArray[chunkIndex].push(item)
return resultArray
}, []) -
Lokids
addikt
Közben meglett:
for (let i = 0; i < originalArray.length; i += splitSize) { nestedArray.push(originalArray.slice(i, i + splitSize)); } -
sztanozs
veterán
-
sztanozs
veterán
-
Lokids
addikt
Oké, megvan. Azért, mert az isNaN nem azt mondja meg, hogy szám-e vagy nem.

Bár így eléggé zavaró az elnevezése.Viszont akkor újabb problémám van:
if (arguments.length === 1){return function(b){console.log(typeof b)if(typeof a === "number" && typeof b === "number"){return a+b}return undefined}}Ha egyáltalán nincs 2. argumentum, akkor a typeof b-re azt kapom vissza, hogy [function].
Ennek ellenére nem undefined lesz a visszatérő érték, hanem [function].
Miért?Oké megvan a megoldás. Nincs probléma... Mármint nem is volt. Olyasmit próbáltam megoldani ami úgy működött ahogy kell. De valamiért meggyőztem magam arról, hogy mégsem.

-
Lokids
addikt
Sziasztok!
Megtudja valaki mondani, hogy mi a hiba a functionnel? Nem lép bele az isnan(b) || isnan(b) vizsgálatba.
addTogether(2)([3])function addTogether(...args) {const [a, b] = args
if (!b) {return function(b){console.log(b)if(isNaN(a) || isNaN(b)){return undefined}return a+b}}
if(isNaN(a) || isNaN(b)){return undefined}return a+b}Nem akkor kelle bele lépni, ha a VAGY b nem szám? Mert a b ugye egy array, így az isNaN(b)-nek true-na kell lennie és vissza kéne adnia az undefined eredményt.
Oké, megvan. Azért, mert az isNaN nem azt mondja meg, hogy szám-e vagy nem.

Bár így eléggé zavaró az elnevezése.Viszont akkor újabb problémám van:
if (arguments.length === 1){return function(b){console.log(typeof b)if(typeof a === "number" && typeof b === "number"){return a+b}return undefined}}Ha egyáltalán nincs 2. argumentum, akkor a typeof b-re azt kapom vissza, hogy [function].
Ennek ellenére nem undefined lesz a visszatérő érték, hanem [function].
Miért? -
disy68
aktív tag
-
sztanozs
veterán
-
sztanozs
veterán
obj[user.name] = user.age
ez azt jelenti, hogy hozd letre auser.namekulcsot azobjlistaban auser.ageertekkel, vagy frissitsd a meglevo kulcsot ezzel az ertekkel. -
mandleee
tag
Sziasztok,
Valaki segítsen nekem megérteni JS-ben ez a .reduce() miért /hogyan működik:
const users = [{ name: 'John', age: 34 },{ name: 'Amy', age: 20 },{ name: 'camperCat', age: 10 }];const usersObj = users.reduce((obj, user) => {obj[user.name] = user.age;return obj;}, {});console.log(usersObj);Pontosabban ez a része az amit nem bírok felfogni:
obj[user.name] = user.ageEbből hogy jön ki a { John: 34, Amy: 20, camperCat: 10 } eredmény? o.O
Elsőre én azt hinném, hogy mikor a reduce végig lépdel az objecteken a name-nek adná értékül az age értékét.Szóval miért nem {name: 34} az első lépés eredménye.
Tudom, hogy én lenni buta, de az agyam nem képes ezt most felfogni.
Talán igy érthetobb:
const usersObj = users.reduce((obj, user) => {
return {
...obj, // lemásolod az obj tartalmat
[user.name]: user.age // 1. elemnel "John" 34, 2. elemnél "Amy": 20 stb.
}
}, {}); -
disy68
aktív tag
Sziasztok,
Valaki segítsen nekem megérteni JS-ben ez a .reduce() miért /hogyan működik:
const users = [{ name: 'John', age: 34 },{ name: 'Amy', age: 20 },{ name: 'camperCat', age: 10 }];const usersObj = users.reduce((obj, user) => {obj[user.name] = user.age;return obj;}, {});console.log(usersObj);Pontosabban ez a része az amit nem bírok felfogni:
obj[user.name] = user.ageEbből hogy jön ki a { John: 34, Amy: 20, camperCat: 10 } eredmény? o.O
Elsőre én azt hinném, hogy mikor a reduce végig lépdel az objecteken a name-nek adná értékül az age értékét.Szóval miért nem {name: 34} az első lépés eredménye.
Tudom, hogy én lenni buta, de az agyam nem képes ezt most felfogni.
A reduce eredménye egy darab érték, itt egy object.
const usersObj = users.reduce((obj, user) => {obj[user.name] = user.age;return obj;}, {}); <- ez a kiindulási értéke: {} // üres object
A reduce végigiterál a users tömbön. Minden iteráció megkapja az előző által módosított értéket (obj) és az adott elemet a listában (user).obj[user.name] = user.age;
a fenti módosítja az eredmény objectet, ad neki egy property-t, aminek a neve a user.name lesz és az értéke a user.age
0: {}
1: {"John": 34}
2: {"John": 34, "Amy": 20}
etc..
Érdemes lehet még elolvasni a dokumentációt hozzá. -
Bzozoo
tag
Nem értem pontosan hová szeretnéd eltárolni, de itt egy példa reverse metódust használva a várt eredményt kiíratva:
const date = new Date("2022-06-15");const myArray = [{ Szöveg: "Valami1", nap: 0 },{ Szöveg: "Valami2", nap: 2 },{ Szöveg: "Valami3", nap: 4 },{ Szöveg: "Valami4", nap: 6 }];const string = myArray.map((item, index) => {date.setDate(date.getDate() + item.nap);return (item.Szöveg +": " +date.toISOString().replace(/T.*/, "").split("-").join("-"));}).reverse().join("<br />");result.innerHTML = string; -
Bzozoo
tag
A fent ajánlott reverse metódus is simán alkalmas lett volna
-
Bzozoo
tag
Nem segít, mert nem a tömb megfordítása a probléma, mert az logikailag hibás.
A probléma az, hogy van 60 tömböm objectekkel feltöltve, aminek van 10 propertyje és abból az egyik a nap. És visszafelé kéne valahogy dátumot számolnom. odafele nem gond, mert akkor az első a 0 és jó lesz a számolás. De a tömb megfordítása ezt nem oldja meg. Mivel fordítva az első object név értékét kellene a kiválasztott dátum mellé írni, míg a második object név értékét az első object nap értékével csökkentett dátum mellé.Sajna az tömb[i+1] nem megoldás, mert a legelső elemnél a semmire mutatna.

Tehát az lenne az elvárás, hogy így legyen kiírva?
Valami4: 2022-06-27
Valami3: 2022-06-21
Valami2: 2022-06-17
Valami1: 2022-06-15 -
edari
őstag
-
lanszelot
addikt
Sziasztok!
Ez lehet inkább elmélet, mint js...
var Date = New date('2022-06-15')myArray = [{Szöveg: Valami1, nap: 0},{Szöveg: Valami2, nap: 2},{Szöveg: Valami3, nap: 4},{Szöveg: Valami4, nap: 6},];Na most ha elejétől végéig végigmegyek és egy dátumhoz hozzáadom a napokat az tökély.
De ha a végétől az elejéig akarok menni, akkor azzal kezd ugye, hogy kivonja a dátumból a 6-t.
Miképp lehet megoldani, hogy valami4 a kiválasztott dátum legyen,
a valami3 a dátum -6, a valami2 az Új dátum - 4 nap és Valami1 mégújabb dátum -2?
Az nem elég, ha csak 1-el elcsúsztatom az elemeket, mert visszafelé nem létezik az utolsó elem+1.Nem nagyon értem amit írtál, hogy mit is akarsz.
De ha jól értettem, akkor:
nap -otne fixre rakd, hanem annak is készíts tömböt, és a tömböt rakd hozzá más sorrendben, ahogy szeretnéd. -
Bzozoo
tag
pl: 2022.06.01 ->> 2022.06.02 -> 2022.06.04
Azaz az új dátumhoz adja hozzá a következő számot, ne az eredetihez. Ezt elfelejtettem mondani.De én pontosan most ezt próbálom:
var huHolidays = [
'2022-01-01', '2022-03-14', '2022-03-15', '2022-04-15', '2022-04-18', '2022-05-01', '2022-06-06', '2022-08-20', '2022-10-23', '2022-10-31', '2022-11-01', '2022-12-25', '2022-12-26',
'2023-01-01', '2023-03-15', '2023-04-07', '2023-04-10', '2023-05-01', '2023-05-29', '2023-08-20', '2023-10-23', '2023-11-01', '2023-12-25', '2023-12-26',
'2024-01-01', '2024-03-15', '2024-03-29', '2024-04-01', '2024-05-01', '2024-05-20', '2024-08-20', '2024-10-23', '2024-11-01', '2024-12-25', '2024-12-26',
'2025-01-01', '2025-03-15', '2025-04-18', '2025-04-21', '2025-05-01', '2025-06-09', '2025-08-20', '2025-10-23', '2025-11-01', '2025-12-25', '2025-12-26'
];
function addWorkingDays(date, days) {
for (var i = days; i; i--) {
// Add a day
date.setDate(date.getDate() + 1);
// If a weekend or holiday, keep adding until not
while (!(date.getDay() % 6) || huHolidays.indexOf(getISODate(date)) != -1) {
date.setDate(date.getDate() + 1);
}
}
return date.toLocaleDateString("hu");
}
const Arry = [
{Nev: 'valami1', napok: 3},
{Nev: 'Valami2', napok: 4},
{Nev: 'Valami3', napok: 2}
]
datum = new Date('2022-06-03');
var Datumok = []
for (i = 0; i < Arry.length; i++) {
Datumok.push(addWorkingDays(datum, Arry[i.napok]));
}
console.log(Datumok)Akkor nem azzal a dátommal kell dolgozni, ami alapból rögzítve van, hanem az újjal. Ezt megteheted úgy is például, hogy felülírod a startDate értékét.
-
Lokids
addikt
pl: 2022.06.01 ->> 2022.06.02 -> 2022.06.04
Azaz az új dátumhoz adja hozzá a következő számot, ne az eredetihez. Ezt elfelejtettem mondani.De én pontosan most ezt próbálom:
var huHolidays = [
'2022-01-01', '2022-03-14', '2022-03-15', '2022-04-15', '2022-04-18', '2022-05-01', '2022-06-06', '2022-08-20', '2022-10-23', '2022-10-31', '2022-11-01', '2022-12-25', '2022-12-26',
'2023-01-01', '2023-03-15', '2023-04-07', '2023-04-10', '2023-05-01', '2023-05-29', '2023-08-20', '2023-10-23', '2023-11-01', '2023-12-25', '2023-12-26',
'2024-01-01', '2024-03-15', '2024-03-29', '2024-04-01', '2024-05-01', '2024-05-20', '2024-08-20', '2024-10-23', '2024-11-01', '2024-12-25', '2024-12-26',
'2025-01-01', '2025-03-15', '2025-04-18', '2025-04-21', '2025-05-01', '2025-06-09', '2025-08-20', '2025-10-23', '2025-11-01', '2025-12-25', '2025-12-26'
];
function addWorkingDays(date, days) {
for (var i = days; i; i--) {
// Add a day
date.setDate(date.getDate() + 1);
// If a weekend or holiday, keep adding until not
while (!(date.getDay() % 6) || huHolidays.indexOf(getISODate(date)) != -1) {
date.setDate(date.getDate() + 1);
}
}
return date.toLocaleDateString("hu");
}
const Arry = [
{Nev: 'valami1', napok: 3},
{Nev: 'Valami2', napok: 4},
{Nev: 'Valami3', napok: 2}
]
datum = new Date('2022-06-03');
var Datumok = []
for (i = 0; i < Arry.length; i++) {
Datumok.push(addWorkingDays(datum, Arry[i.napok]));
}
console.log(Datumok)Már nem bírtam szerkeszteni, de rájöttem, hogy egyszerűen csak rossz helyre tettem a "]"-t.
-
Bzozoo
tag
De, szépen megy az végig minden, hiszen 1-hez hozzá adja az 1-et, így lesz 2, az 1-hez a 2-t, az lesz 3 és így tovább.... Kijön a matek.
De akkor nem értem pontosan mit szeretnél, ha nem ezt. -
Bzozoo
tag
Nekem működik arr[i].nap-al is: https://codepen.io/bzozoo/pen/YzeLEmJ?editors=0011
-
Bzozoo
tag
A map mindenféleképpen csak ezt a hármat fogja a függvénynek átadni. Ha akarsz használni bármi mást a függvényben, akkor azt tudod használni átadás nélkül is. például az array 5. elemét array[5]-ként.
-
Bzozoo
tag
Sziasztok!
array.map esetén a benne lévő functionnak hogy adom meg az adott array i-ik elemét?
pl:
Var date = '2022-06-01'const array = [1, 2, 3]NewArray = array.map(addDays(date, i-ik elem))function addDays(date, days) {var result = new Date(date);result.setDate(result.getDate()+ days);return result.toLocaleDateString("hu");}function addDays(date, index) {
var result = new Date(date);
result.setDate(result.getDate()+ array[index]);
return result.toLocaleDateString("hu");
} -
nevemfel
senior tag
A map által meghívott funkció három paramétert kap.
function addDays(element, index, array) {}
Az első az aktuális elem, a második az elem index, a harmadik az egész tömb, amiből kiolvashatsz más elemeket is. -
nevemfel
senior tag
Sziasztok!
array.map esetén a benne lévő functionnak hogy adom meg az adott array i-ik elemét?
pl:
Var date = '2022-06-01'const array = [1, 2, 3]NewArray = array.map(addDays(date, i-ik elem))function addDays(date, days) {var result = new Date(date);result.setDate(result.getDate()+ days);return result.toLocaleDateString("hu");}Ilyesmire gondoltál?
<script>var startDate = "2022-06-01", myArray = [1, 2, 3], newArray;function addDays(element) {var result = new Date(startDate);result.setDate(result.getDate() + element);return result.toLocaleString("hu");}newArray = myArray.map(addDays);console.log(newArray);</script> -
nevemfel
senior tag
Sziasztok!
Ha van egy data változóm, ami ilyen módon töltődik fel:
console.log(JSON.stringify(data))
[{ arg: "Uniós", val: 50, sum:10, parentID: "" },{ arg: "Hazai", val: 79, sum:20, parentID: "" },{ arg: "Egyéb hazai", val: 17, sum:30, parentID: "" },{ arg: "Egyéb hazai - Tervezés alatt", val: 9, sum:10, parentID: "Egyéb hazai" },{ arg: "Hazai - Tervezés alatt", val: 15, sum:20, parentID: "Hazai" },{ arg: "Uniós - Tervezés alatt", val: 2, sum:30, parentID: "Uniós" },{ arg: "Egyéb hazai - Megvalósítás alatt", val: 7, sum:10, parentID: "Egyéb hazai" },{ arg: "Hazai - Megvalósítás alatt", val: 28, sum:20, parentID: "Hazai" },{ arg: "Uniós - Megvalósítás alatt", val: 35, sum:30, parentID: "Uniós" },{ arg: "Egyéb hazai - Zárás alatt", val: 0, sum:0, parentID: "Egyéb hazai" },{ arg: "Hazai - Zárás alatt", val: 4, sum:20, parentID: "Hazai" },{ arg: "Uniós - Zárás alatt", val: 7, sum:30, parentID: "Uniós" },{ arg: "Egyéb hazai - Lezárt", val: 1, sum:10, parentID: "Egyéb hazai" },{ arg: "Hazai - Lezárt", val: 32, sum:20, parentID: "Hazai" },{ arg: "Uniós - Lezárt", val: 6, sum:30, parentID: "Uniós" }];
console.log(data)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ha kézzel felveszem:
var data = [
{ arg: "Uniós", val: 50, sum:10, parentID: "" },
{ arg: "Hazai", val: 79, sum:20, parentID: "" },
{ arg: "Egyéb hazai", val: 17, sum:30, parentID: "" },
{ arg: "Egyéb hazai - Tervezés alatt", val: 9, sum:10, parentID: "Egyéb hazai" },
{ arg: "Hazai - Tervezés alatt", val: 15, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Tervezés alatt", val: 2, sum:30, parentID: "Uniós" },
{ arg: "Egyéb hazai - Megvalósítás alatt", val: 7, sum:10, parentID: "Egyéb hazai" },
{ arg: "Hazai - Megvalósítás alatt", val: 28, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Megvalósítás alatt", val: 35, sum:30, parentID: "Uniós" },
{ arg: "Egyéb hazai - Zárás alatt", val: 0, sum:0, parentID: "Egyéb hazai" },
{ arg: "Hazai - Zárás alatt", val: 4, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Zárás alatt", val: 7, sum:30, parentID: "Uniós" },
{ arg: "Egyéb hazai - Lezárt", val: 1, sum:10, parentID: "Egyéb hazai" },
{ arg: "Hazai - Lezárt", val: 32, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Lezárt", val: 6, sum:30, parentID: "Uniós" }
];Így a data egy tömb, mely objektumokat tartalmaz ugye?
És van is benne adat.
De mikor csak a változót kiíratom, miért lesz [object Object]?
Mit kellene tennem, hogy ugyanazt lássam, mint a string verzióba?Én arra volnék kíváncsi, hogy a data változót hogyan töltöd fel. Ez a JSON.stringify kimenet sehogy nem áll össze. JSON formátum esetén minden key idézőjelek között kellene, hogy legyen.
-
martonx
veterán
Hol írtad, hog mi a célod?

Én a helyedben megnézném a dokumentációját ennek a js chartnak.
Documentation 21.1: DevExtreme - JavaScript Chart Configuration (devexpress.com)
Hoppá, de hisz itt vannak jsfiddle példák is. Ez esetben sok sikert! -
disy68
aktív tag
milyen grafikon ez? mutass valami példát, hogyan szeretnéd használni
ha egy object-et átadsz valaminek, ami pl. string-et vár és aszerint akarja kiírni, akkor az object.toString() lesz meghívva, ami az '[object Object]' stringet adja alapértelmezetten
-
martonx
veterán
Sziasztok!
Ha van egy data változóm, ami ilyen módon töltődik fel:
console.log(JSON.stringify(data))
[{ arg: "Uniós", val: 50, sum:10, parentID: "" },{ arg: "Hazai", val: 79, sum:20, parentID: "" },{ arg: "Egyéb hazai", val: 17, sum:30, parentID: "" },{ arg: "Egyéb hazai - Tervezés alatt", val: 9, sum:10, parentID: "Egyéb hazai" },{ arg: "Hazai - Tervezés alatt", val: 15, sum:20, parentID: "Hazai" },{ arg: "Uniós - Tervezés alatt", val: 2, sum:30, parentID: "Uniós" },{ arg: "Egyéb hazai - Megvalósítás alatt", val: 7, sum:10, parentID: "Egyéb hazai" },{ arg: "Hazai - Megvalósítás alatt", val: 28, sum:20, parentID: "Hazai" },{ arg: "Uniós - Megvalósítás alatt", val: 35, sum:30, parentID: "Uniós" },{ arg: "Egyéb hazai - Zárás alatt", val: 0, sum:0, parentID: "Egyéb hazai" },{ arg: "Hazai - Zárás alatt", val: 4, sum:20, parentID: "Hazai" },{ arg: "Uniós - Zárás alatt", val: 7, sum:30, parentID: "Uniós" },{ arg: "Egyéb hazai - Lezárt", val: 1, sum:10, parentID: "Egyéb hazai" },{ arg: "Hazai - Lezárt", val: 32, sum:20, parentID: "Hazai" },{ arg: "Uniós - Lezárt", val: 6, sum:30, parentID: "Uniós" }];
console.log(data)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ha kézzel felveszem:
var data = [
{ arg: "Uniós", val: 50, sum:10, parentID: "" },
{ arg: "Hazai", val: 79, sum:20, parentID: "" },
{ arg: "Egyéb hazai", val: 17, sum:30, parentID: "" },
{ arg: "Egyéb hazai - Tervezés alatt", val: 9, sum:10, parentID: "Egyéb hazai" },
{ arg: "Hazai - Tervezés alatt", val: 15, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Tervezés alatt", val: 2, sum:30, parentID: "Uniós" },
{ arg: "Egyéb hazai - Megvalósítás alatt", val: 7, sum:10, parentID: "Egyéb hazai" },
{ arg: "Hazai - Megvalósítás alatt", val: 28, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Megvalósítás alatt", val: 35, sum:30, parentID: "Uniós" },
{ arg: "Egyéb hazai - Zárás alatt", val: 0, sum:0, parentID: "Egyéb hazai" },
{ arg: "Hazai - Zárás alatt", val: 4, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Zárás alatt", val: 7, sum:30, parentID: "Uniós" },
{ arg: "Egyéb hazai - Lezárt", val: 1, sum:10, parentID: "Egyéb hazai" },
{ arg: "Hazai - Lezárt", val: 32, sum:20, parentID: "Hazai" },
{ arg: "Uniós - Lezárt", val: 6, sum:30, parentID: "Uniós" }
];Így a data egy tömb, mely objektumokat tartalmaz ugye?
És van is benne adat.
De mikor csak a változót kiíratom, miért lesz [object Object]?
Mit kellene tennem, hogy ugyanazt lássam, mint a string verzióba?Próbáld meg console.table-el kiíratni.
-
martonx
veterán
A helyedben itt néznék szét: Documentation 21.1: DevExtreme - JavaScript Data Grid (devexpress.com)
Már ha jól tévedek, ezt a grid-et használták (no persze, hogy miért használna valaki fizetős grid komponenst az számomra rejtély). -
martonx
veterán
Sziasztok!
Fejlesztettek nektünk pár táblázatot honlapra javascript alapon.
Felsővezetés kitalálta, hogy milyen jó lenne, ha színt is vinnénk bele. Namost nem mi csináltuk, de oldjuk meg alapon nézegetem a kódot, de nem tudok rájönni, hogy tudnám megoldani azt, hogy egyik oszlopban jelzőlámpa lenne. Szöveg ott van, hogy "piros" "sárga" "zöld" És ezek alapján kellene színezni a tartományt.
Ez a kód tölti be az adatokat:
masterDetail: {
enabled: true,
template: function(container, options) {
var currentEmployeeData = options.data;
//console.log("opdata:");
//console.log(options.data);
EOSP.GetVirDatas("{view:\""+EOSP.config.virconfig.views.riport2.nondash_FKSZforras_riport_SPchild_VW.vname+"\",filter: \"SzerzodesItemID='"+options.data.ItemID+"'\"}",drawInnerKoztesTables);
function drawInnerKoztesTables(koztesdata) {
var currentSource = koztesdata.data;
console.log(currentSource);
var newArray = [];
var innerValues = {};
var columns = [];
var titleVar = "nondash_FKSZforras_riport_SPchild_VW";
var clickedFilter = "default2";
$.each(currentSource, function( innerIndex, innerValue ) {
$.each(EOSP.config.virconfig.views.riport2[titleVar].tablevalues[clickedFilter], function( index, value ) {
if(index != "url") {
if(!innerValue[value.value]) {
innerValue[value.value] = "";
}
if(isNaN(innerValue[value.value])) {
var testForNumb = isNumeric(innerValue[value.value]);
if(testForNumb) {
}
} else {
if(value.type != "number") {
}
}
if(String(innerValue[value.value]).indexOf("00:00") > -1) {
innerValue[value.value] = innerValue[value.value].split("T");
innerValue[value.value] = innerValue[value.value][0];
}
innerValues[value.title] = innerValue[value.value];
if(innerIndex== 0) {
if(value.type == "number") {
if(String(innerValue[value.value]).length > -1) {
var rowDatasReszletek = {dataField: value.title,dataType:value.type,format: {useGrouping: true, minimumSignificantDigits: 1}};
} else {
var rowDatasReszletek = {dataField: value.title,dataType:value.type};
}
} else {
var rowDatasReszletek = {dataField: value.title,dataType:value.type};
}
if(value.title) {
columns.push(rowDatasReszletek );
}
}
}
});
innerValues[EOSP.config.virconfig.views.riport2[titleVar].vid] = innerValue[EOSP.config.virconfig.views.riport2[titleVar].vid];
newArray.push(innerValues);
innerValues = {};
}); $("<div>")
.addClass("master-detail-caption")
.appendTo(container);
$("<div>")
.dxDataGrid({
columns: columns,
dataSource: newArray,
keyExpr: EOSP.config.virconfig.views.riport2[titleVar].vid,
export: {
enabled: true,
fileName: titleVar
},Gondolom az innervalue[valu.title] értékét kellene megvizsgálnom, hogy = "zöld", de már erre is hibát dob. Ráadásul ötletem sincs, hogy hogy tudnék enneky valami style-t állítani.

Valakinek valami ötlet?Nem szégyen a fejlesztőknek fizetni, hogy még egy picit toljanak rajta.
-
cattus
addikt
Használj
===operátort. Illetve nézd meg, hogy avar itemDate = new Date(rows[i]["Határidő"]);valóban a megfelelő dátumot adja -e vissza (pl. console.log segítségével, vagy a böngészőben van lehetőség breakpointokkal debugolni). -
dqdb
nagyúr
Sziasztok!
Az alábbi kódban kérnék segítséget. Lefut, de minden zöld, dátumtól függetlenül:
function colorCodeRows() {
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: function (ctx) {
// get today's date
var today = new Date();
// zero out the time portion so we will only compare days
today.setHours(0,0,0,0);
var rows = ctx.ListData.Row;
for (var i = 0; i < rows.length; i++) {
// get the date set in your date YourDateField
var itemDate = new Date(rows[i]["Határidő"]);
// zero out the time portion so we only compare days
itemDate.setHours(0,0,0,0);
var rowId = GenerateIIDForListItem(ctx, rows[i]);
var row = document.getElementById(rowId);
if (itemDate > today) {
row.style.backgroundColor = '#00FF00';
} else if (itemDate = today) {
row.style.backgroundColor = '#FFFF00';
} else if (itemDate < today) {
row.style.backgroundColor = '#FF0000';
}
}
}
});
}
RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens('~site/SiteAssets/JSLink/coloring.js'), colorCodeRows);
colorCodeRows();Nem tudom mit nézek be, mert elvileg teljesül a többi feltétel, de a notepad nem tud lépésenkénti futtatást.
itemDate = todayez biztosan rossz, mert így értékadás is
Új hozzászólás Aktív témák
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Genshin Impact (PC, PS4, Android, iOS)
- Google Chromecast topic
- Parkside szerszám kibeszélő
- Spórolós topik
- Fűnyíró topik
- Szentjánosbogárral venné fel a versenyt a Macbook Neo ellen az Intel
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Forza sorozat (Horizon/Motorsport)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Anglia - élmények, tapasztalatok
- További aktív témák...
- Legion 15ACH6H 15.6" FHD IPS Ryzen 7 5800H RTX 3060 16GB 512GB NVMe magyar vbill gar
- Gamer PC, 9800x3d, 9070XT
- AKCIÓ!!! SÁRGA! -20%!!! MACBOOK NEO!!!! - MAGYAR BILLES! - CITRUS AJÁNDÉKKAL!
- Bomba ár! Lenovo X1 Tab 2nd - i5-7Y57 I 8GB I 256SSD I 12" FHD+ Touch I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad T440s Touch - i5-4G I 12GB I 128SSD I 14" FHD Touch I Cam I W10 I Gari!
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- M4 iMac 2021 24" - 16GB RAM, 512 GB SSD 27% ÁFÁS
- Lenovo T14 Gen2 Ryzen 5650U - Refurbished - Garancia
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- PlayStation 5 FAT DIGITAL + kontroller 6 hó garancia, számlával!
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest








