Nepřekreslení snippetu na select boxu

- Johny12369
 - Člen | 21
 
Zdravím, mám podobný problém jako zde:
https://forum.nette.org/…luje-snippet
po změně výběru v select boxu překresluji obsah jiného select boxu,
akorát se mi snippet neaktualizuje.
Latte soubor
<form class="df-checkout">
	...
	<select n:href="getHraci!" name="domaci" id="domaci" class="form-control">
		<option value="">Vybrat</option>
		<option n:foreach="$tymy as $tym" value="{$tym->getId()}">
			{$tym->getNazev()}
		</option>
	</select>
	...
	<div class="row helpers hidden">
		<select n:snippet="hraciDomaci" class="form-goly-domaci-select form-control">
			<option></option>
			<option n:foreach="$hraciDomaci as $hrac" value="{$hrac->getId()}">
				{$hrac->getPrijmeni()} {$hrac->getJmeno()}
			</option>
		</select>
		<input type="text" class="form-goly-input form-control">
	</div>
</form>
JS soubor
<script>
$(document).ready(function(){
    $("#domaci").bind('change', function() {
		var link = $(this).attr("href");
		$.nette.ajax ({
			url: link,
			data: {"strana": "domaci", "tymId": $(this).val()},
			type: 'get',
			dataType:'json'
		});
    });
});
</script>
Controller
<?php
public function handleGetHraci($strana, $tymId)
{
	$tym = $this->tymManager->getTymRepository()->find($tymId);
	$muzstvo = $this->tymManager->getMuzstvoRepository()->findBy(["nazev" => self::HLAVNI_TYM]);
	$hraci = $this->hracManager->getHracRepository()
				->findBy(["tym" => $tym, "muzstvo" => $muzstvo], ["prijmeni" => "ASC", "jmeno" => "ASC"]);
	if($this->isAjax()){
		$this->template->hraciDomaci = $hraci;
		$this->redrawControl('hraciDomaci');
	}
?>
Formulář zatím nemám vytvořený a zpracovaný, takže první select box
mám udělaný takto provizorně a select box se snippetem je na formuláři
nezávislý. Ten využívám ke kopírování.
JS zavolá handler správně a když si dumpnu
$this->template->hraciDomaci před redrawControl tak tam
data jsou, ale redrawControl pak už neudělá nic, přitom se na
stránce ve spodní Tracy liště přidá nový řádek s tímto procesem.
Chybu mi to nevyhazuje, v debuggeru má proces
(zapasy-new?do=getHraci&strana=domaci&tymId=12) status 200,
akorát response obsahuje:
{"state":[],"snippets":{"snippet--hraciDomaci":"\t\t\t\t\t\t\t\t\t\t<option></option>\n"}}
a po tomto procesu se mi ještě vytvoří další proces zapasy-new?_tracy_bar=content-ajax.070337af20&XDEBUG_SESSION_STOP=1&v=0.09143314314688511 s response:
Tracy.Debug.loadAjax(...)
Zkoušel jsem místo $.nette.ajax použít i $.get, obalit
<form> do snippetArea a tento kód mám normálně v
{block content}, takže by ani snippetArea neměla být potřeba.
nette.ajax.js s inicializací předem $.nette.init();
mám taky.
Díky moc za jakoukoliv radu.
Editoval Johny12369 (5. 9. 2018 14:29)

- Johny12369
 - Člen | 21
 
Odpovím si sám, byl problém v tom, že jsem si tu danou proměnnou, která se updatovala snippetem, setoval v render* metodě na prázdné pole (abych při úvodním načtení stránky nemusel řešit existenci proměnné).