如何在ZF2中的无线电元素中放置图片而不是文本?

时间:2014-08-20 10:47:42

标签: zend-framework zend-framework2 zend-form

主题:如何在ZF2的无线电元素中放置图片而不是文字? 码: 选项字段:

array(
'spec' => array(
    'type' => 'radio',
    'name' => 'fcaptcha',
    'options' => array(
        'label' => 'Капча',
        'label_attributes' => array(
            'class' => 'control-label',
        ),
    ),
    'attributes' => array(
        'required' => 'required',
    ),
),  
)

控制器:

$temp[0] = 'Here you need to put a picture instead of text';
$temp[1] = 'Here you need to put a picture instead of text';
$form->get('fcaptcha')->setValueOptions($temp);

1 个答案:

答案 0 :(得分:0)

你可以只使用一些CSS来做到这一点。这是一个简单的例子,您可以根据自己的目的进行调整:

假设您有Zend\Form\Element\Radio元素:

array(
            'type' => 'Zend\Form\Element\Radio',
            'name' => 'fcaptcha',
            'options' => array(
                    'value_options' => array(
                            '0' => 'something1',
                            '1' => 'something2',
                    ),
            ),
            'attributes' => array(
                    'id'=>"fcaptcha-id"
            )
    )

CSS:

radio-option1 {background-image:url(option1.png);}

radio-option2 {background-image:url(option2.png);}

有些JS:

$(document).ready(function(){

$(':radio[value="0"]').addClass('radio-option1');
$(':radio[value="1"]').addClass('radio-option2');
});