Yii DropDownListRow:将布尔值映射到下拉选项

时间:2013-10-18 01:04:21

标签: php drop-down-menu yii boolean form-submit

我在下面有这个小部件:

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

我使用上面的方法创建一个选项,无论某些东西是否有效。 但这不会提交布尔值'true'或'false',而是字符串'Active'和'Inactive',我如何根据选择提交布尔值? 有效是真,无效是指虚假?谢谢!

1 个答案:

答案 0 :(得分:1)

如果dropDownListRow()函数使用相同的CActiveForm :: dropDownList()

您需要提供密钥=&gt;值数组。 其中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发送到服务器,而不是布尔值。因此,在比较或转换值时,您需要考虑这一点。