2013-10-18 46 views
0

我有下面這個小工具:Yii的DropDownListRow:地圖布爾值到下拉選項

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

我用上面的東西是否是活動還是不創建一個選項。 但是,這不會提交布爾值'真'或'假',而是字符串'有效'和'無效',我如何使它提交基於選擇的布爾值? 主動意味着真實,非主動意味着虛假?謝謝!

+0

array('true','false')??? – Hackerman

+0

呀但是。它會顯示「1」和「」(空白),我希望它顯示'有效'和'無效',同時映射真值和假值, – muffin

+0

array('Active'=>'true','Inactive'= >'false')...和鍵功能? – Hackerman

回答

1

如果dropDownListRow()函數的工作原理相同CActiveForm :: DROPDOWNLIST()

您需要提供一鍵=>值數組。 其中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

編輯: 注意,這將發送字符串真或假的服務器,而不是一個布爾值。因此,在比較或轉換值時需要考慮到這一點。

+0

謝謝..這實際上工作..但是,關鍵值配對是: true =>'主動'沒有單引號爲真,這樣的帖子將包含布爾值..感謝無論如何這個想法! – muffin

+0

注意如果你這樣做,不用引號,你的數組將被轉換爲'array(1 =>'Active',0 =''Inactive')',因爲PHP不允許布爾值作爲數組鍵 – Rowan