From 9e3667e5a801aa9ef272c704d6b8163b65a0f4d6 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Sat, 10 Dec 2011 14:44:56 +0000 Subject: [PATCH] toggle checkboxes/radio when clicking on label --- lam/lib/html.inc | 20 +++++++++++++------- lam/lib/modules/kolabUser.inc | 4 ++-- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lam/lib/html.inc b/lam/lib/html.inc index 6454d549..471dcf7f 100644 --- a/lam/lib/html.inc +++ b/lam/lib/html.inc @@ -1140,13 +1140,18 @@ class htmlRadio extends htmlElement { $disabled = ' disabled'; } // print radio list + $counter = 0; foreach ($this->elements as $label => $value) { + $onClick = 'onClick="jQuery(\'input[name=' . $this->name . ']\').attr(\'checked\', false);jQuery(\'#' . $this->name . $counter . '\').attr(\'checked\', true);"'; + echo '
'; $selected = ''; if ($value == $this->selectedElement) { $selected = ' checked'; } - echo ' ' . $label . '
'; + echo ' ' . $label; + echo '
'; $tabindex++; + $counter++; } return array($this->name => 'select'); } @@ -1321,11 +1326,11 @@ class htmlOutputText extends htmlElement { class htmlInputCheckbox extends htmlElement { /** unique name of input element */ - private $name; + protected $name; /** value */ - private $checked; + protected $checked; /** enabled or disabled */ - private $isEnabled = true; + protected $isEnabled = true; /** * Constructor. @@ -1368,7 +1373,7 @@ class htmlInputCheckbox extends htmlElement { if (!$this->isEnabled) { $disabled = ' disabled'; } - echo ''; + echo ''; return array($this->name => 'checkbox'); } @@ -1425,8 +1430,9 @@ class htmlTableExtendedInputCheckbox extends htmlInputCheckbox { * @return array List of input field names and their type (name => type) */ function generateHTML($module, $input, $values, $restricted, &$tabindex, $scope) { + $onClick = 'onClick="jQuery(\'#' . $this->name . '\').attr(\'checked\',!jQuery(\'#' . $this->name . '\').attr(\'checked\'));"'; if ($this->labelFirst) { - echo '
'; + echo '
'; echo $this->label; echo '
'; echo "\n\n\n"; @@ -1435,7 +1441,7 @@ class htmlTableExtendedInputCheckbox extends htmlInputCheckbox { else { $return = parent::generateHTML($module, $input, $values, $restricted, $tabindex, $scope); echo "\n\n\n"; - echo '
'; + echo '
'; echo $this->label; echo '
'; } diff --git a/lam/lib/modules/kolabUser.inc b/lam/lib/modules/kolabUser.inc index 0ccdd71b..8c8658d8 100644 --- a/lam/lib/modules/kolabUser.inc +++ b/lam/lib/modules/kolabUser.inc @@ -865,8 +865,8 @@ class kolabUser extends baseModule { $delegateFields = array(); $delegateContainer = new htmlTable(); for ($i = 0; $i < sizeof($kolabDelegate); $i++) { - $delegateContainer->addElement(new htmlTableExtendedInputCheckbox('delDelegate_' . $i, false, $kolabDelegate[$i])); - $delegateContainer->addElement(new htmlOutputText(_('Delete')), true); + $delegateContainer->addElement(new htmlOutputText($kolabDelegate[$i])); + $delegateContainer->addElement(new htmlTableExtendedInputCheckbox('delDelegate_' . $i, false, _('Delete'), null, false), true); } $delegateContainer->addElement(new htmlSelect('new_delegate_value', $delegates)); $delegateContainer->addElement(new htmlTableExtendedInputCheckbox('new_delegate', false, _("Add"), null, false), true);