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
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)