Yii - 如何在下拉列表中插入占位符

时间:2013-11-29 05:14:55

标签: jquery yii yii-extensions

我是Yii框架的新手。我使用以下代码创建了下拉列表 -

echo $form->dropDownList($model, 'min_cost', Yii::app()->params['cost_resales']);
echo $form->dropDownList($model, 'max_cost', Yii::app()->params['cost_resales']); 

现在,我无法在上面的下拉列表中插入占位符。我尝试使用下面的htmloptions插入占位符

array('empty'=>'Min')
array('empty'=>'Max')  

这很好用。但是,这些值也包含在下拉列表中。我不希望它们包含在下拉列表中。 我正在使用下面的Jquery代码来填充下拉列表值。

<script>
jQuery(function(){ 
   // Keep a copy of the default options
    var $options = jQuery('#SearchForm_min_cost').children().clone();


    jQuery('#SearchForm_min_cost').change(function(){

    // Within your change handler:

        var index = jQuery(this).find(':selected').index();
        jQuery('#SearchForm_max_cost').html($options).children(':lt('+index+')').remove();

    }); 

});
</script>

如何不将此值与列表一起包含在内。我希望它们作为占位符而不在列表中。

2 个答案:

答案 0 :(得分:0)

根据CHtml.dropDownList()文档,您可以在htmlOptions数组中指定prompt。这将显示但不可选择。也许那就是你真正想要的?

echo $form->dropDownList($model,'min_cost',Yii::app()->params['cost_resales'],array(
    'prompt'=>'Please select the minimum value',
));

答案 1 :(得分:0)

占位符是一个文本,如果文本字段为空,则在选择字段中显示为无法直接添加占位符,您必须选择一个空选项值,该值最初将保持选中状态,因此您必须使用

echo $form->dropDownList($model,'min_cost',Yii::app()->params['cost_resales'],array(
'empty'=>'Please select the minimum value',

));

使用此功能时,您将获得占位符选择。