ako nastavit checkbox-u atribut value?

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

ad topic
potreboval by som vytvorit subor checkboxov

<input type="checkbox" name="chk" value="1" />
$form->addCheckbox('chk', "Title")->setValue(1);

sposobi len to ze input bude zaskrtnuty ako default, co sa mi tiez nepaci ;/
(len upozornujem ze ten atribut value tam potrebujem bez ohladu nato ci sa dany checkbox bude odosielat, preto nemozem pouzit standardny sposob nette, kde sa len kontroluje ci bol element odoslany (napriklad aj ked by som chcel vytvorit pole checkboxov pomocou containeru ) )

vdaka

Editoval keram (6. 5. 2009 14:49)

Martin Mates
Člen | 179
+
0
-

Zkus napsat ten dotaz znovu. 3× jsem si to přečetl a vůbec nechápu, co chceš udělat.

keram
Člen | 9
+
0
-

sorry skusim to rozpisat lepsie ;)

klasicky sposob v nette ako vytvorit checkbox:

<?php

$form->addCheckbox('chk', "Title");

?>

sa vyrenderuje ako

<input type="checkbox" name="chk"/>

ak mu skusim pridat atribut value

<?php

$form->addCheckbox('chk', "Title")->setValue(1);

?>

atribut value sa neprida, ale miesto toho sa vyplni atribut „checked“

<input type="checkbox" name="chk" checked="checked"/>

a ja by som si to predstavoval takto:

<?php

$checkbox = $form->addCheckbox('chk', "Title");
$checkbox->setValue(3);
$checkbox->setChecked(true);

?>

a v sablone sa zobrazilo:

<input type="checkbox" name="chk" value="3"  checked="checked" />

je to mozne?

Ondřej Mirtes
Člen | 1536
+
0
-

AFAIK je value u checkboxu zbytečný. Pokud v něm potřebuješ přenášet nějakou informaci (který je zaškrtnutý), patří to do name.

keram
Člen | 9
+
0
-

LastHunter napsal(a):

AFAIK je value u checkboxu zbytečný. Pokud v něm potřebuješ přenášet nějakou informaci (který je zaškrtnutý), patří to do name.

Ano suhlasim. V 99% je atr. value u checkboxu zbytocny, kedze ide len o boolean hodnotu, ale pride mi kontraproduktivne taketo zjednodusenie nastavovanie zaskrtnutia pomocou metody „setValue()“, ktore zaroven odstavi to 1% pripadov, kde na strane klienta je potrebne mat tento atribut, ci uz z dovodu kompaktibility s inou applikaciu, ktora dany atribut vyzaduje, alebo aj inych, preto som v povodnej otazke upozornil, ze tam ten atribut potrebujem bez ohladu na aplikaciu v nette.

o5
Člen | 416
+
0
-

keram napsal(a):

…ci uz z dovodu kompaktibility s inou applikaciu, ktora dany atribut vyzaduje, alebo aj inych, …

nechces napsat konkretne k cemu to potrebujes?

Martin Mates
Člen | 179
+
0
-

Já bych zkusil následující:

<?php
$form->addCheckbox('chk', "Title")
->getControlPrototype()->value('1');
?>

To udělá to, co chceš, podle mě.

romansklenar
Člen | 655
+
0
-

Na checkboxech se dá myslím udělat i getControlPrototype()->checked = TRUE.