【问题标题】:How to make Yii2's checkbox label not clickable?如何使 Yii2 的复选框标签不可点击?
【发布时间】:2015-12-22 17:47:43
【问题描述】:

我需要通过单击标签来禁用选中复选框的可能性。用户应该能够仅在单击框本身时选中复选框。我需要分配不同的动作来点击标签。我该怎么做?

这是我的密码:

echo $form->field($model, 'accept')->checkbox(['template' => '{input}{beginLabel}{labelTitle}{endLabel}']);

这应该在 Yii 1.x 中工作,但在 Yii2 中不工作。

【问题讨论】:

    标签: checkbox yii2


    【解决方案1】:

    我不确定,但你可以试试这个:通过提供填充或自定义标签。

    <!-- CHECKBOX BUTTON DEFAULT LABEL -->
    <?= $form->field($model, 'population')->checkbox(); ?>
    <!-- CHECKBOX BUTTON WITHOUT LABEL -->
    <?= $form->field($model, 'population')->checkbox(array('label'=>'')); ?>
    <!-- CHECKBOX BUTTON WITH CUSTOM LABEL -->
    <?= $form->field($model, 'population')  ->checkbox(array('label'=>''))
                                            ->label('Gender'); ?>
    <!-- CHECKBOX BUTTON WITH LABEL OPTIONS, DISABLED AND STYLE PROPERTIES -->
    <?= $form->field($model, 'population')->checkbox(array(
                                    'label'=>'',
                                    'labelOptions'=>array('style'=>'padding:5px;'),
                                    'disabled'=>true                                
                                    ))
                                    ->label('Gender'); ?>
    

    如果它不工作,定义一个HTML标签手册

    <label>Gender</label>
    

     <?= $form->field($model, 'population')->checkbox(array('label'=>'')); ?>
    

    【讨论】:

    • 不,没有成功。标签仍将包裹在输入周围,使标签可点击。一种选择是使用 BaseHTML 的 activeCheckbox()label(),但在这种情况下,将不会显示错误消息并且验证将不起作用。
    • 是的,谢谢,这个正在工作,而且显示的错误也正在工作。但是知道如何正确对齐手动定义的标签吗?这样,标签会根据您放置的位置在输入之前或之后打印。如果是在输入之后,那么错误信息会将其推得更深,使得输出不是很优雅。
    • 尝试使用 css、margin 和 padding。它会起作用的,不要忘记投票并接受答案。
    猜你喜欢
    • 2011-01-16
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多