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
+
0
-

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