Poslání value do dalšího do view bez formuláře

Shoxy
Člen | 37
+
0
-

Dobrý den,
Chtěl bych se zeptat zda se dá poslat value ze <select> do dalšího view bez toho abych to celé měl odeslané ve formuláři.
Vím, že se dá předat value jako parametr při ->redirect avšak nevím jak tu hodnotu již získat a předat do redirectu ze selectu
Latte

{block content}
<div id="selects_admin_warpp">
<select data-url="{link SearchAdmin!}" id="select_shift">
<option value="" disabled selected>Směna</option>
<option n:foreach="$shifts as $shift" value="{$shift->shiftID}">
{$shift->shiftName}
</option>
</select>
<select n:snippet="SnippetAdmin" class="select_admin" style="display:none"> // Hodnota kterou chci předat do dalšího pohledu
<option value="" disabled selected>Admin</option>
{ifset $getAdmins}
<option data-username="{$admin->AdminkyID}" n:foreach="$getAdmins as $admin" name="Admin" value="{$admin->AdminkyID}">
{$admin->AdminkyName} {$admin->AdminkySurname}
</option>
{/ifset}
</select>
</div>
<table rules="all" id="data-table" >
<thead>
<tr>
<td>ID</td>
<td>Datum</td>
<td>Ridič</td>
<td>Cesta</td>
<td>Návěs</td>
<td></td>
</tr>
</thead>

{foreach $databaseData as $array}
<thead class="obal">
<tr class="thr">
<td>{$array[0]}</td>
<td>{$array[1]|date:'%d.%m.%Y | %H:%M'}</td>
<td>{$array[2]}</td>
<td>{$array[3]}</td>
<td>{$array[4]}</td>
<td></td>
</tr>
<tbody class="detail-container">
{foreach $array[6] as $data}
{first}
<tr>
<td colspan="5">Název dodavatele</td>
<td>Palet</td>
</tr>
{/first}
{if $iterator->isOdd()}
<tr>
<td colspan="5">{$data}</td>
{else}
<td>{$data}</td>
</tr>
{/if}

{/foreach}
<tr>
<td colspan="5" align="right">Celkem:</td>
<td style="color:red;">{$array[5]}</td>
</tr>
<tr>
<td class="print-td" colspan="6"><a class="btn-primary" n:href="Print:print $array[0]">Tisk</a></td> // zde je tlačítko pro přesměrování na další view
</tr>
</tbody>
</thead>
{/foreach}
</table>

`

<script>
$( "#select_shift" ).change(function() {
	var value = $(this).val();
	if($(this).next().css("display")=="none"){
	$(this).next().css("display","block");
	}
	 $.nette.ajax({
        'url': $(this).data('url'),
        'async':false,
        'data': {
            shiftID: value,
        }
    });
});

$( ".obal" ).click(function() {
 $(".detail-container").hide();
 $(this).next().show();

});
</script>

`
Děkuji.

Editoval Shoxy (19. 4. 2018 10:12)

Tyraxor
Člen | 31
+
0
-

Ahoj,

pokud trváš na tom, že z toho nechceš udělat klasický formulář, tak ti zbývá asi jen javascriptem vytáhnout tu hodnotu ze selectu, dosadit do nějaké předpřipravené URL a přesměrovat na view, který bude tu hodnotu očekávat jako klasický GET parametr.

Shoxy
Člen | 37
+
0
-

Tyraxor napsal(a):

Ahoj,

pokud trváš na tom, že z toho nechceš udělat klasický formulář, tak ti zbývá asi jen javascriptem vytáhnout tu hodnotu ze selectu, dosadit do nějaké předpřipravené URL a přesměrovat na view, který bude tu hodnotu očekávat jako klasický GET parametr.

No kdybych to obalil formulářem jak bych jej poté odesílal, když v něm mám N,linků / redirectů? Vše by poté mělo být vytvořené jako komponenta formuláře v prezenteru ne?

Tyraxor
Člen | 31
+
0
-

teď úplně nechápu co se snažíš říct, kód vypadá jako nějaký filtrovaný výpis, který se dá udělat velice jednoduše (jeden obyčejný formulář + výpis ve foreachi) nebo taky hodně složitě např. vrstvenýma komponentama…
Zkus to trochu víc rozepsat nebo sem dát více kodu (presenter + případné komponenty)

Editoval Tyraxor (19. 4. 2018 14:46)