Diskuze: javascript, vybranie dátumu
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus si vypsat typeof
. Pravdepodobne pujde o typ date. Ten musis
konvertovat pres new Date
. Neco podobneho jsem dneska zrovna
prepisoval pro cookies
var expires = new Date();
if (expires_days) expires.setTime(expires.getTime() + expires_days*86400000);
No lenže neviem ako skúšal som
function pickdate(args) {
var args = new Date();
var myObject = {
value: new Date(args.getFullYear(), args.getMonth(), 1).toISOString().slice(0, -5)
};
alert(typeof myObject.value);
A stále mi to vypisuje string
Ok, jinak. Vyrob jednoduchou html stranku, kod a ten sem dej. Tak, aby nebylo
nutne nic doplnovat a stacilo to cele oznacit a copy-paste presunout do
poznamkoveho bloku, ulozit s html priponou a spustit, zplochy, treba. Takhle tam
mas jakysi kousek kodu, ke kteremu bych musel dopsat dalsich X veci, abych to
mohl otestovat.
Takhle se s tim neda vubec nic delat. Nevim, zda je problem u tebe nebo v jejich
kodu nebo webovem prohlizeci. DayPilot neznam, musel bych si to vygooglovat
new Date(args.getFullYear(), args.getMonth(), 1)
.toISOString() // vzdyt to prevadis na string
.slice(0, -5) // a pak z toho orezacas nejakou cast
};
alert(typeof myObject.value); // takze logicky vypise string
A ted je otazkou, zda to ma delat nebo je to tva chyba, nebo, o co tady jde?
google = DayPilot examples
google = DayPilot set date
https://doc.daypilot.org/…e-switching/
// JS
dp.startDate = "2013-07-31";
dp.update();
dp.events.load("/api/events");
// ASP - WebForms
dp.commandCallBack("goto", { date: "2013-07-31" });
---
DayPilotCalendar1.StartDate = (DateTime) e.Data["date"];
DayPilotCalendar1.DataSource = loadYourData();
DayPilotCalendar1.DataBind();
DayPilotCalendar1.Update();
---
dp.startDate = "2013-07-31";
dp.commandCallBack("refresh");
To mi vygenerovala AI. Niečo upravit a napisat zvladnem ale na niečo už
nestačím a toto je už tá vec s ktorou potrebujem pomôcť.
Tak celý kód je tu https://code.daypilot.org/…20210607.zip
V podstate chcem nahradiť ten ich kalendár týmto
<input type="month" id="pickdate" onchange="pickdate(event);" />
Ako som už písal toto je pôvodný kód v js
const nav = new DayPilot.Navigator("nav");
nav.selectMode = "month";
nav.locale = "sk-sk";
nav.onTimeRangeSelected = function (args) {
loadTimeline(args.start);
dp.update();
loadReservations();
};
nav.init();
Podla mna teda potrebujem dostať do tejto premennej loadTimeline(args.start); ten môj dátum. Lenže neviem ako nato. Podľa toho čo si mi teraz napísal som skúsil
dp.startDate = "2013-07-31";
loadTimeline(dp.startDate);
Lenže ani to nefungovalo.
Hm, takze jednoduchy priklad nic. A v tom kodu neni tam ten tvuj js (stacilo
si to tlacitko preci duplikovat, mit jedno fungujici a druhe tvoje nefungujici).
Takze, asi nejlepe, vratit se ke googlu a zkusit si to najit sam... Kod od AI
muze byt spis jako pomucka, ale nemusi sedet ke tve verzi knihovny
https://forums.daypilot.org/…or-not-right
https://javascript.daypilot.org/…vigator.html
Ten js kod mas jinak ok. Zkus si do toho jejich puvodniho pridat vypis arg, kdyz chces vedet, co tam maji
nav.onTimeRangeSelected = function (args) {
console.log(arg)
loadTimeline(args.start);
https://code.daypilot.org/ - je tam spousta dalsich prikladu,
mozna by se dalo neco z nich vytahnout
https://code.daypilot.org/…configurator
No kód z daylipilot
console.log(args.start);
vypíše do konzoly DayPilot.Date {value: '2023-04-01T00:00:00'}
Môj kód
console.log(args.target.value + "-01T00:00:00");
vypíše 2023-06-01T00:00:00
Naozaj netuším ako dosiahnuť aby môj kód posielal to čo ten
daylipilot.
Skúsil som
console.log("DayPilot.Date {value:'" + args.target.value + "-01T00:00:00'}");
ale samozrejme to nefungovalo, aj som si myslel že to nepôjde.
Pretože ten výpis z konzoly sa u toho daylipilot dá rozklikávať na
DayPilot.Date {value: '2023-04-01T00:00:00'}
value
:
"2023-04-01T00:00:00"
ticks
:
(...)
get ticks
:
ƒ ()
[[Prototype]]
:
Object
A potom ďalej a ďalej sú tam podkategórie ktoré sa dajú rozklikávať kdežto ten môj kód sa v konzoly tvári len ako obyčajný text a nič sa tam rozkliknúť nedá.
No, ale, jak uz jsem psal drive, tak, podle dokumentace se datum nastavuje takto:
// https://doc.daypilot.org/calendar/manual-date-switching/
dp.startDate = "2013-07-31";
dp.update();
DayPilot.Date {value: '2023-04-01T00:00:00'} => https://doc.daypilot.org/calendar/navigator/ | hledat: DayPilot date
=> https://api.daypilot.org/daypilot-date-class/
=> new DayPilot.Date("2023-01-01T00:00:00")
https://doc.daypilot.org/…r/navigator/ | hledat: DayPilot
loadTimeline
=> https://forums.daypilot.org/…-assign-date
Našiel som riešenie v jednom z odkazov čo si poslal upravil ho podla seba a funguje. Prekvapivo stačilo napísať jeden riadok
var date = new DayPilot.Date(args.target.value + "-01T00:00:00");
Takže vďaka mám to vyriešené.
Zobrazeno 13 zpráv z 13.