Závislý select box zobrazení druhých hodnot

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Hurass
Člen | 114
+
0
-

Potřeboval bych poradit s závyslím select boxem. Mám první kde se vybere hodnota a podle toho by se měl naplnit druhý select box. Dělal jsem to podle návodu. Hodnota se mi naplní, ale už se nepřepíše druhý select box.
Jelikož jde o formulář který mám musí být na každé stránce, mám ho v BasePresenteru.

BasePresenter:

public function beforeRender() {
	$this->template->_form = $this['uploadForm'];
}

public function handleFirstChange($value) {
	dump($value);
	if ($value) {
            $secondItems = array(
                1 => 'First option ' . $value . ' - second option 1',
                2 => 'First option ' . $value . ' - second option 2'
            );

        $this['uploadForm']['second']->setPrompt('Vyberte podkategorii')
             	->setItems($secondItems);
        } else {
            $this['uploadForm']['second']->setPrompt('Vyberte hlavní kategorii')
                ->setItems(array());
        }
        $this->invalidateControl('secondSnippet');
    }

Šablona:

{form uploadForm}
    {label first /} {input first}
    {snippet secondSnippet}
        {label second /} {input second}
    {/snippet}
    {input upload}
{/form}

<script>
{include #jsCallback, input => first, link => firstChange}
</script>

{define #jsCallback}

$('#{$control["uploadForm"][$input]->htmlId}').on('change', function() {
    $.nette.ajax({
        type: 'GET',
        url: '{link {$link}!}',
        data: {
            'value': $(this).val(),
        }
    });
    alert($(this).val());
});

{/define}

Výpis firebugu

<pre title="dump($value)
in file /var/www/Tlamy/app/presenters/BasePresenter.php on line 28" class="nette-dump"><span class="php-string">"1"</span>
</pre>
{"state":[]}

Editoval Hurass (31. 3. 2014 11:29)

Casper
Člen | 253
+
0
-

Chybu jsem nezkoumal, ale můžeš zkusit využít hotový doplněk DependentSelectBox

Hurass
Člen | 114
+
0
-

Na toto řešení jsem koukal, ale rád bych to vyřešil sám.