From 2c83bde8909d33f74cb76d6a87100838974c4ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20H=C3=A4rtl?= Date: Tue, 1 Sep 2015 09:02:20 +0200 Subject: [PATCH] Issue #81: Fix itemOptions for radio-/checkboxList --- ActiveField.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ActiveField.php b/ActiveField.php index 634dc47..bc21957 100644 --- a/ActiveField.php +++ b/ActiveField.php @@ -255,8 +255,10 @@ class ActiveField extends \yii\widgets\ActiveField ]; } } elseif (!isset($options['item'])) { - $options['item'] = function ($index, $label, $name, $checked, $value) { - return '
' . Html::checkbox($name, $checked, ['label' => $label, 'value' => $value]) . '
'; + $itemOptions = isset($options['itemOptions']) ? $options['itemOptions'] : []; + $options['item'] = function ($index, $label, $name, $checked, $value) use ($itemOptions) { + $options = array_merge(['label' => $label, 'value' => $value], $itemOptions); + return '
' . Html::checkbox($name, $checked, $options) . '
'; }; } parent::checkboxList($items, $options); @@ -281,8 +283,10 @@ class ActiveField extends \yii\widgets\ActiveField ]; } } elseif (!isset($options['item'])) { - $options['item'] = function ($index, $label, $name, $checked, $value) { - return '
' . Html::radio($name, $checked, ['label' => $label, 'value' => $value]) . '
'; + $itemOptions = isset($options['itemOptions']) ? $options['itemOptions'] : []; + $options['item'] = function ($index, $label, $name, $checked, $value) use ($itemOptions) { + $options = array_merge(['label' => $label, 'value' => $value], $itemOptions); + return '
' . Html::radio($name, $checked, $options) . '
'; }; } parent::radioList($items, $options);