将占位符放在yii CGridview过滤器中

时间:2013-12-16 02:39:28

标签: yii

我需要在yii CGridView中的过滤器文本框中放置占位符我跟着this问题但是它没有用,任何人都知道如何让它工作?

2 个答案:

答案 0 :(得分:3)

假设您有一个类似于网格视图下方的代码。

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'product-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'product_name',
        'product.description',  
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

现在您要将占位符添加到product_name,然后您可以在代码上方将其更改为....

<?php $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'product-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
        'columns'=>array(
            'id',
             array('name'=>'product_name', 'filter'=>CHtml::activeTextField($model, 'product_name',array("placeholder"=>"place holder text"))),        
            'product.description',
            array(
                'class'=>'CButtonColumn',
            ),
        ),
    )); ?>

其次,如果你想为所有列添加占位符,那么如果你在CGridView代码中添加它,那么你应该单独添加,但我认为你可以通过为特定列添加属性来添加它以供CSS使用。 检查下面的链接。 How to set placeholder value using CSS?

希望它会对你有所帮助。

由于

答案 1 :(得分:1)

以下结构是工作副本。

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'car-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'manufacturer',
        array('name'=>'model','value'=>'$data->model',
                    'filter'=>CHtml::activeTextField($model, 'model',array("placeholder"=>"place holder text"))),
        array(
            'class'=>'CButtonColumn',
        ),
    ),
));

请正确检查,在此代码示例中设置上方和下方的“过滤器”。