Dynamická změna obsahu inputu, podle selectboxu

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

Zdravím,
chtěl bych se zeptat zda je to nějak v nette implementované. Přečetl jsem si návod na formuláře a viděla jsme tu část s Condition a toggle. Nejde v nette udělat něco podobného, ale s tím že by bylo místo toggle něco jako setValue(). Můj případ je že chce učitel zařadit žáka do zaměření a musí mu zadat školné na 1. a 2. pololetí. Na výběr zaměření mám selectbox. Dále mám pole s danými předpisy pro každé zaměření. A ted bych chtěl udělat podmínku která bude měnit obsah inputu pro předpis. Tedy něco jako

<?php

$form->addSelect('zamereni', 'Zaměření', Array(...);
$form->addText('predpis1', 'Předpis na 1. pololetí')
	->addConditionOn($form['zamereni'], Form::EQUAL, $item)
		->setValue($predpisy[$item][1])
$form->addText('predpis2', 'Předpis na 2. pololetí')
	->addConditionOn($form['zamereni'], Form::EQUAL, $item)
		->setValue($predpisy[$item][2])

?>

BTW nechci to dělat přes AJAX ;)

Předem dík za pomoc

Nette 2.0.10
PHP 5.4.4

sKopheK
Člen | 207
+
0
-

Přes AJAX to dělat nemusíš, stačí JavaScript :).
Pokud jsem to dobře pochopil, tak stačí ty „předpisy“ vložit v šabloně do JS pole a pak ke změně výběru v selectboxu navázat událost, která ti do inputu vloží hodnotu z pole podle vybraného klíče v selectboxu.

iNviNho
Člen | 352
+
0
-

odporúčam použiť javascript(jquer) pre onchange zmeny v selectboxe, je to jednoduché a účinné :) Pre ukážku …

<?php
$('#zamereni').change(function()
{
   console.log("niečo sa zmenilo"));
});
?>