yii中的下拉选择值

时间:2015-07-29 09:19:59

标签: php yii

我目前正在尝试创建一个示例购物网站,问题出现在我创建搜索页面时。在我的搜索页面中,我有两个字段用于输入关键字,另外一个用于选择项目类型
这意味着在所选项目中搜索enter image description here关键字。但是在DB中定义的项目是0和1而我试图获取它我的代码但是失败......任何人都可以帮助我......

Gfunction代码是

    public static function item(){
    $optionList='';
$CategoryList = OfferEvents::model()->findAllByAttributes(array());

foreach($CategoryList as $catdata)
{   $optionList.="<option value='".$catdata['type']."'>".$catdata['name']."</option>";     }
return $optionList; 

}

并且查看代码是

    <form action="<?php echo Yii::app()->baseUrl; ?>/offer?>" method="GET"  class="form-inline form-section-2 row  fadeInDown animated">
  <div class="col-sm-5 form-group">
    <input type="text"  name="search"  class="form-control" id="search" value="" placeholder="Enter Your Keyword">
  </div>
  <div class="col-sm-4 form-group">
       <select  name="cat" class="form-control selectpicker">
        <option value='0'>Select type</option>
        <?php echo GFunctions::item(); ?>
        </select> 
  </div>
  <div class="col-sm-3 form-group">
  <button type="submit" class="btn btn-default btn-new">Search</button>    
  </div>
</form>

2 个答案:

答案 0 :(得分:1)

为什么不使用Yii内置函数来处理下拉列表? 我不确定你的模型是什么样的,但你可以选择以下函数之一来实现你想要的,而不是试图返回带有HTML标签的String $ optionList。

CHtml::activeDropDownList() //直接绑定到活动记录模型

CHtml::dropDownList()

答案 1 :(得分:0)

试试这个代码......

<强>功能

public static function item(){
    $CategoryList = OfferEvents::model()->findAllByAttributes(array());

    $optionList = CHtml::listData($countries, 'type', 'name')
    return $optionList; 
}

在视图中

<?php echo CHtml::dropDownList('cat', '', GFunctions::item(), array('prompt'=>'Select type'));?>