Formulare a addRadioList()

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

Vie mi niekto poradit, ako funguje

<?php
addRadioList  (string $name, string $label,  $items)
?>

Ten label je pre celu skupinu, alebo ako?

Takto by to malo vyzerat:

Gender: <input name=„gender“ value=„male“ /> <label>Male</label>
<input name=„gender“ value=„female“ /> <label>Female</label>

cize takto by som to mohol zadat?

<?php
addRadioList('gender','Gender: ', Array('male'=>'Male','female'=>'Female'))
?>

A ako potom v sablodne dostanem napr. male prvok? Nejak tak?

<?php
$form['gender']['male']->control;
$form['gender']['male']->label;
?>

A ako ziskam ten „label“ Gender?

LM
Člen | 206
+
0
-

Ten hlavní label získáš takhle:

$form['gender']->label;

$form['gender']->control ti vrátí container který obsahuje všechny radio a label elementy.

Koukni na metodu: RadioList::getSeparatorPrototype(), kterou můžeš ovlivnit oddělení jednotlivých radio buttonů.

piler
Člen | 111
+
0
-

LM napsal(a):

Ten hlavní label získáš takhle:

$form['gender']->label;

$form['gender']->control ti vrátí container který obsahuje všechny radio a label elementy.

Koukni na metodu: RadioList::getSeparatorPrototype(), kterou můžeš ovlivnit oddělení jednotlivých radio buttonů.

dik moc…tu na fore bol jeden prispevok, kde bol rozpisany priklad…ale nemozem ho najst…

ale dik ;)

Roman Pištěk
Člen | 10
+
0
-

Narazil jsem na situaci, kdy by obsahem labelu každého radio elementu měl být obrázek namísto plain textu (návštěvník volí z obrazových schémat namísto textu).

Bylo by možné povolit v atributu (array) $items v metodě addRadioList() HTML kód?

<?php
$form->addRadioList('umisteni', 'Umístění vestavěné skříně', array(
	'do_prostoru' => Html::el('img')->src('umisteni-do-prostoru.png'),
	'do_rohu' => Html::el('img')->src('umisteni-do-rohu.png'),
));
?>

Pozn.: IE má s elementem img v label problém, kliknutím na img se radio neoznačí. Problém lze fixnout např. takto , případně používáte-li jQuery takto:

<script>
$('label img').click(function() {
	$(this).parent().trigger('click');
});
</script>
David Grudl
Nette Core | 8218
+
0
-

Povolím to.