Závislý formulář v komponentě

medunrad
Člen | 27
+
0
-

Zdravím,

snažím se vytvoření závislého formuláře v komponentě.
Mám 2 inputy, jeden nabízí uživateli dny a druhý mu poté v závislosti na vybraném dnu nabízí časy.
Závislé formulářové prvky mi vždy fungovali, nicméně formulář jsem vytvářel v presenteru a následně renderoval v šabloně presenteru.

Nyní se snažím o to samé v komponentě, nicméně z nějakého důvodu mi toto řešení nefunguje.

Implementace spočívá v tom, že mám includnutý javascript, který když se změní hodnota v datu tak odesílá ajaxový požadavek na signál komponenty.

Liší se nějakým způsobem implementace v závislosti, zdali se jedná o komponentu, nebo se jedná o totéž a mám hledat chybu v implementaci?

Předem díky za každou radu.

Ondřej Kubíček
Člen | 494
+
0
-

a nefunguje ti co přesně? jakou chybu to háže?
když to máš v komponentě, tak signál jde do té komponenty, tam to zpracuješ jak před tím v presenteru, co teda přesně nejde?

medunrad
Člen | 27
+
0
-

Ondřej Kubíček napsal(a):

a nefunguje ti co přesně? jakou chybu to háže?
když to máš v komponentě, tak signál jde do té komponenty, tam to zpracuješ jak před tím v presenteru, co teda přesně nejde?

Chyba se nezobrazuje žadná.
Ukázka:

šablona komponenty:

{form reservationEditDate}
    {label reservation_date}{/label}
    {input reservation_date}
    <script>
        {include 'date.latte', date => reservation_date}
    </script>
    {foreach $form[time]->items as $key => $label}
                <div class="btn btn-search-time time-pick">
                    <label n:name="time:$key"><input n:name="time:$key">{$label|date:'%H:%M'}</label>
                </div>
    {/foreach}
 {/form}

javascript day.latte

{contentType javascript}

var selector = "#" + {$control["reservationEditDate"][$date]->htmlId};
$(selector).on("change", function(event){
    $.nette.ajax
    ({
        type: 'GET',
        url: {link nextDay!}
    });
}

Z nějakého důvodu se nikdy nevyvolá ten jqeury change trigger.

medunrad
Člen | 27
+
0
-

Případně jestli je to blbost a řeší se podobné věci jiným způsobem, rád se přiučím.

Ondřej Kubíček
Člen | 494
+
0
-

vubec se ten ajax nespustí jo? není žádný request v konzoli? a ten selector je dobře? když si to printneš máš tam ten co tam má být?

medunrad
Člen | 27
+
0
-

Ondřej Kubíček napsal(a):

vubec se ten ajax nespustí jo? není žádný request v konzoli? a ten selector je dobře? když si to printneš máš tam ten co tam má být?

Ano, v konzoli žádný request a selector sedí s id inputu.

CZechBoY
Člen | 3608
+
0
-

A v době vykonává javascriptu tam ten element už je? Dej před ten event binder třeba console.log($(selector).length);.

medunrad
Člen | 27
+
0
-

CZechBoY napsal(a):

A v době vykonává javascriptu tam ten element už je? Dej před ten event binder třeba console.log($(selector).length);.

Ano, length je 1.

medunrad
Člen | 27
+
0
-

Problém nějakým způsobem souvisel s použitím datetimepickeru pro zobrazení data v inputu.