我目前正在尝试创建一个示例购物网站,问题出现在我创建搜索页面时。在我的搜索页面中,我有两个字段用于输入关键字,另外一个用于选择项目类型
这意味着在所选项目中搜索关键字。但是在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>
答案 0 :(得分:1)
为什么不使用Yii内置函数来处理下拉列表? 我不确定你的模型是什么样的,但你可以选择以下函数之一来实现你想要的,而不是试图返回带有HTML标签的String $ optionList。
CHtml::activeDropDownList() //直接绑定到活动记录模型
答案 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'));?>