获取小部件中值的值CgridView

时间:2017-07-17 04:40:21

标签: javascript php jquery yii widget

晚安,我正在尝试捕获一行cdsde CgridView的ID我希望他们可以帮助我任何建议我会感激,问候

调用CgridView所在窗口的函数

<script >
 function buscarArticulo() {
 window.open("../articulo/catInventario", "popupId", "location=no,menubar=no,titlebar=no,resizable=no,toolbar=no, menubar=no,width=500,height=500"); 
 }

 </script>

这是弹出窗口中的功能:

<script language="javascript">
function cerrar(idarticulo) {
window.opener.document.getElementById('idarticulo').value = <?php echo $model->idarticulo; //the new id ?> 
window.close();
}
</script>

这是CgridView小部件:

<?php $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'catInventario-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
        'columns'=>array(
                'idarticulo',
                'codigo',
                'nombre',
                'descripcion',
                'imagen',
                'uso_interno',
                /*
                'idcategoria',
                'idpresentacion',
                'cod_impuesto',
                */
                array(
                        'class'=>'CButtonColumn',
                        'template'=>'{elegir}',
                        'buttons'=>array(
                                'elegir'=>array(
                                        'click'=>'cerrar',
                                        ),

                                ),

                ),
        ),
)); ?>

这是模型,搜索完整搜索

public function search()
        {


                $criteria=new CDbCriteria;

                $criteria->compare('idarticulo',$this->idarticulo);
                $criteria->compare('codigo',$this->codigo,true);
                $criteria->compare('nombre',$this->nombre,true);
                $criteria->compare('descripcion',$this->descripcion,true);
                $criteria->compare('imagen',$this->imagen,true);
                $criteria->compare('uso_interno',$this->uso_interno,true);
                $criteria->compare('idcategoria',$this->idcategoria);
                $criteria->compare('idpresentacion',$this->idpresentacion);
                $criteria->compare('cod_impuesto',$this->cod_impuesto,true);

                return new CActiveDataProvider($this, array(
                        'criteria'=>$criteria,
                ));
        }

这是控制器功能:

public function actionCatInventario()
        {
                $model=new Articulo('search');
                $model->unsetAttributes();  // clear any default values
                if(isset($_GET['Articulo']))
                        $model->attributes=$_GET['Articulo'];

                $this->render('catInventario',array(
                        'model'=>$model,
                ));
        }

正如你所知,这是一个网络费用形式,对于这种感觉我只需要idarticle,我希望已经明确,他们可以帮助我,非常感谢你的时间

1 个答案:

答案 0 :(得分:0)

我不确定,你究竟需要什么。我假设你需要第一列的价值。如果是这样(如果您的项目中有jQuery),您可以通过此

获取它
function cerrar(idarticulo) {
    console.log($(this).parent().parent().children('td:first').text());
}

它返回CGridView第一列的值。