2017-07-17 50 views
0

晚安我試圖捕捉行cdesde一個CgridView我希望他們能幫助我有什麼建議,我會很感激的ID,至於獲取小部件的值的值CgridView

功能是調用其中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,我希望已經清楚,他們可以幫助我,非常感謝你的時間

+0

'idarticulo'不是字段的id,而是屬性的名稱。請看看您的頁面的html代碼以獲取真實ID – scaisEdge

+0

不,它是顯示cgridview的代碼。示例1,主持人 其中1是代碼;這就是我需要的,我希望我解釋得更好一點 –

+0

我不明白..我試圖想象什麼可以服務......你需要一個鏈接,當你點擊你訪問一個動作使用作爲參數行字段? – scaisEdge

回答

0

我不確定,你到底需要什麼。我假設你需要第一欄的價值。如果是的話(如果存在的jQuery在你的項目),你可以通過這個

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

它返回CGridView的第一列的值,得到它。

+0

完美,我看到了標誌中的正確價值。我問如何關閉窗口,並獲得該值,因爲我已經嘗試,但它告訴我'未捕獲的TypeError:window.opener不是函數' –

+0

完美,解決這個問題'window.opener.document.getElementById(' idarticulo')。value =($(this).parent()。parent()。children('td:first')。text()); window.close(); ' –