0

我在下面有这个小部件:

<?php 
  echo $form->dropDownListRow($model, 'status', array('Active','Inactive'), 
        array(
        'id'=>'status-list',
        'class'=>'span5',
        'data-placement'=>'right'        
             )                                                           
       ); 
?>

我使用上面的内容来创建一个选项,无论某些东西是否处于活动状态。但这不会提交布尔值 'true' 或 'false' ,而是提交字符串 'Active' 和 'Inactive',我如何让它根据选择提交布尔值?活动是真,非活动是假?谢谢!

4

1 回答 1

1

如果 dropDownListRow() 函数工作相同 CActiveForm::dropDownList()

您需要提供一个 key => value 数组。其中 key 是发送到服务器的下拉选项值,value 是用户看到的选项显示字符串。

例如,对于您的示例,请尝试

<?php 
  echo $form->dropDownListRow($model, 'status', array('true' => 'Active', 'false' => 'Inactive'), 
        array(
        'id'=>'status-list',
        'class'=>'span5',
        'data-placement'=>'right'        
             )                                                           
       ); 
?>

有关更多信息,请参阅http://www.yiiframework.com/doc/api/1.1/CHtml#activeDropDownList-detail

编辑:请注意,这会将字符串 true 或 false 发送到服务器,而不是布尔值。因此,在比较或转换值时,您需要考虑到这一点。

于 2013-10-18T04:48:07.220 回答