0

我的观点代码

    <?php 
$temp = CHtml::listData($roles,'name','name');
                echo $form->checkBoxList($model, 'role', $temp,
                           array('labelOptions'=>array('style'=>'display:inline; padding-right: 1em; vertical-align:middle;'), // add this code
                     ));
            ?> 

数组 $temp 输出是

array(7) { ["Administrator"]=> string(13) "Administrator" ["Creator"]=> string(7) "Creator" ["Director"]=> string(8) "Director" ["Implementer"]=> string(11) "Implementer" ["Reviewer"]=> string(8) "Reviewer" ["Superadmin"]=> string(10) "Superadmin" ["Temporary Director"]=> string(18) "Temporary Director" }

在 HTML 输出是

<span id="User_role"><input id="User_role_0" value="Administrator" type="checkbox" name="User[role][]"> <label style="display:inline; padding-right: 1em; vertical-align:middle;" for="User_role_0">Administrator</label><br>
<input id="User_role_1" value="Creator" type="checkbox" name="User[role][]"> <label style="display:inline; padding-right: 1em; vertical-align:middle;" for="User_role_1">Creator</label><br>
<input id="User_role_2" value="Director" type="checkbox" name="User[role][]"> <label style="display:inline; padding-right: 1em; vertical-align:middle;" for="User_role_2">Director</label><br>
<input id="User_role_3" value="Implementer" type="checkbox" name="User[role][]"> <label style="display:inline; padding-right: 1em; vertical-align:middle;" for="User_role_3">Implementer</label><br>
<input id="User_role_4" value="Reviewer" type="checkbox" name="User[role][]"> <label style="display:inline; padding-right: 1em; vertical-align:middle;" for="User_role_4">Reviewer</label><br>
<input id="User_role_5" value="Superadmin" type="checkbox" name="User[role][]"> <label style="display:inline; padding-right: 1em; vertical-align:middle;" for="User_role_5">Superadmin</label><br>
<input id="User_role_6" value="Temporary Director" type="checkbox" name="User[role][]"> <label style="display:inline; padding-right: 1em; vertical-align:middle;" for="User_role_6">Temporary Director</label></span>

我想要的是

<input id="User_role_Administrator" value="Administrator" type="checkbox" name="User[role][]">

我应该怎么做

4

2 回答 2

0

您不能id修改checkBoxList. 无论如何,它都是无效的 HTML,因为您会将其分配给idDOM 上的多个元素。

我假设您需要id解决来自 javascript 的输入。您可以指定一个class

<?php echo $form->checkBoxList($model, 'role', $temp, array(
    'labelOptions'=>array(
        'style'=>'display:inline; padding-right: 1em; vertical-align:middle;'
    ),
    'class' => 'user-role',
));  ?> 

然后在jQuery你得到所有的输入$('.user-role')

于 2013-07-06T09:42:11.990 回答
0

这是复选框列表。

<?php 
                echo $form->checkBoxList($model, 'role', $arr_roles,
                    array('labelOptions'=>array('style'=>'display:inline; padding-right: 1em; vertical-align:middle;'),
                            'class'=>'user-role',));
            ?> 

这是 javascript

<?php
Yii::app()->clientScript->registerScript('temp-director', "     
     $('input.user-role').click(function(){ 
        if( $(this).val() == 'Temporary Director'){     
            $('#extra').toggle($(this).is(':checked'));
        }
    });
");
?>
于 2013-07-11T09:31:11.523 回答