Как передать идентификатор представления в поле CJuiDialog? - PullRequest
0 голосов
/ 10 октября 2011

вот мой код

<?php
$this->widget('zii.widgets.grid.CGridView',array(
   'dataProvider'=>$dataProvider,
    'columns' => array(
        array(
          'name' => 'emailaddress',
          'htmlOptions' => array(
            'width' => '30',  
          ),
        ),
        array(
          'name' => 'secretkey',
          'htmlOptions' => array(
            'width' => '40px',  
          ),
        ),
        array(
          'header' => 'Options',
          'class' => 'CButtonColumn',  
          'template' => '{view}{update}{delete}',
        ),
        array(
          'header' => 'Copy URLs',
          'class' => 'CButtonColumn',
          'template' => '{copy}',
          'buttons' => array(
            'copy' => array(
                'label' => 'copy url',
                'url' => 'Yii::app()->createUrl("emails/view",array("id"=>$data["emailid"]))',
                'options' => array('id' => $data["emailid"]),
                'click' => 'function(){$("#mydialog").dialog("open"); return false;}',
            )  
          ),
      ),
    ),
));

?>

<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
   'id' => 'mydialog',
   'options' => array(
     'title' => 'URL + Key',
     'autoOpen' => false,
     'width' => 500,
     'height' => 300,
   ),
));


//THIS PART SHOULD RECEIVE THE ID SO THAT I CAN QUERY TO THE DB TABLE

?>

<?php
$this->endWidget('zii.widgets.jui.CJuiDialog');
?>

мой вопрос, как я передам идентификатор строки, по которой щелкнули, в диалоговое окно? , так что я могу использовать этот идентификатор для отображения правильного содержимого внутри диалогового окна? потому что с помощью этого идентификатора я могу сделать запрос БД, как это

SELECT u.url,e.secretKey FROM tbl_emails AS e, tbl_urls AS u
WHERE emailid = ID;

1 Ответ

2 голосов
/ 11 октября 2011

Используйте метод данных jQuery. Например:

<?php
...
'copy' => array(
    'label' => 'copy url',
    'url' => 'Yii::app()->createUrl("emails/view",array("id"=>$data["emailid"]))',
    'options' => array('id' => $data["emailid"]),
    'click' => 'function(){$("#mydialog").data("emailid",$(this).attr("id")).dialog("open"); return false;}',
)
...
?>
<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
   'id' => 'mydialog',
   'options' => array(
     'title' => 'URL + Key',
     'autoOpen' => false,
     'width' => 500,
     'height' => 300,
     'close'=>"js:function(){
            $('#mydialog').removeData('emailid');
        }",
   ),
));

// GETTING THE ID
?>
$('#mydialog').data('emailid');

<?php
$this->endWidget('zii.widgets.jui.CJuiDialog');
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...