Select box – setItems $useKeys = FALSE

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

Mám následující problém, potřebuji ve formuláři vykreslit selectbox a nepožívat klíče, ale když předám pole níže, tak se mi vykreslí pouze hodnoty {5,10}. Skoro to vypadá jako by se vykreslily pouze hodnoty, které nejsou zároveň klíčem. Nevíte někdo proč? Nemůže to být chyba?

<?php
$items = array(1,2,5,10);
$form->addSelect('name', 'label')
->setItems($items, FALSE);
?>

PHP: 5.3 NETTE: 2.1 dev commit 2f4a9570283bde7268127ea212c2430648ae0463

Editoval Nartoun (8. 11. 2013 16:41)

David Matějka
Moderator | 6445
+
0
-

nevim, jestli ten druhej parametr dela to, co chces:

Pokud chceme místo klíčů položek získat přímo jejich hodnoty, můžeme toho docílit druhým argumentem

tzn melo by to prevest to tve pole na

$items = array(1 => 1, 2 => 2, 5 => 5, 10 => 10);

ale koukam, ze to tam nejak blbe prepisuje to pole… asi hod issue na github. tam je vetsi sance, ze to David opravi

pokud chces, aby se ti ty polozky vytvorily jak pisu, muzes pouzit tohle:

->setItems(array_combine($items, $items));