SelectBox → onChange submit → načtení z DB podle ID
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Desttro
- Člen | 126
Zdravím,
lámu si hlavu s tím, jak tento problém vyřešit. Nemůžu dostat to ID
z vybraného selectu do toho SQL dotazu po výberu z selectboxu.
Kód si představuju nějak takhle:
protected function createComponentSelectSupplier()
{
$form = new Form();
//$suppliers = $this->getSuppliers();
$suppliers = HomepagePresenter::getSuppliers();
$form->addSelect('suppliers')
->setItems($suppliers)
->setPrompt('Vyberte dodavatele')
->setAttribute("onChange", "submit();");
$form->onSuccess[] = $this->processSelectSupplier;
return $form;
}
public function processSelectSupplier(Form $form)
{
// $form->getValues() ignores invalidated input's values
$values = $form->getHttpData();
unset($values['do']);
unset($values['send']);
dump($values);
//$this->context->manufacturing->findBy($values);
$this->database->table('manufacturing')->where('orderp = ?', $values);
}
public function getSuppliers()
{
$row = $this->database->table('suppliers')
->select('id, name')
->order('name ASC')
->fetchPairs('id', 'name');
return ($row) ? $row : NULL;
}
Vím, že tohle je špatně ->setAttribute(„onChange“, „submit();“);, že je lepší oddělit HTML od JS, ale chci to nejdřív rozchodit a potom ladit.
Děkuji za pomoc