繁体   English   中英

Yii2使用javascript从Gridview按钮获取价值

[英]Yii2 get value from Gridview button using javascript

我是Yii2 Framework的新手,我已经开发了一个模块,该模块将使用Yii2高级框架上传并显示从服务器上传的文件。 我完成了上传文件的功能,但是。 在我需要将类似pdf文件的文件显示到jquery ui对话框的其他功能中,我的问题是单击按钮以显示上传的pdf文件时无法获取按钮的值。 谢谢各位。

// Here is Gridview code in Index where my button Exist.
 <?= DynaGrid::widget([
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        // 'ntraining_id',
        'ctraining_description',
        //'dtraining_datefrom',
         [
            'attribute'=>'dtraining_datefrom',
            'filterType'=>GridView::FILTER_DATE,
            'format'=>'raw',
            'filterWidgetOptions'=>[
                'pluginOptions'=>['format'=>'yyyy-mm-dd']
            ],
         ],
       // 'dtraining_dateto',
         [
         'attribute'=>'dtraining_dateto',
         'filterType'=>GridView::FILTER_DATE,
         'format'=>'raw',
         'filterWidgetOptions'=>[
          'pluginOptions'=>['format'=>'yyyy-mm-dd']
         ],
         ],
        'ctraining_numberhours',
        'ctraining_type',
        'ctraining_conducted',
        //'ctraining_attachment',

        [
        'attribute'=>'ctraining_attachment',
        'format' => 'raw',
        'label' => 'View Profile',
        'value' => function ($model){

                    return  Html::a(Yii::t('app', ' {modelClass}', [
                    'modelClass' => $model->ntraining_id,
                    'header' => 'raw',

                    ]), ['TblTrainingController/Listeaffecter'], ['class' => 'btn btn-success opener', 'id'=>'opener', 'data' => $model->ntraining_id,]);   

            },
        ],

        //'id',

        ['class' => 'yii\grid\ActionColumn'],
        ],
        'storage'=>DynaGrid::TYPE_COOKIE,
        'theme'=>'panel-info',
        'gridOptions'=>[
            'dataProvider' => $dataProvider,
            'id' => 'grid',
            'filterModel' => $searchModel,
            'panel'=>['heading'=>'<h3 class="panel-title">LEARNING AND DEVELOPMENT (L&D) INTERVENTIONS/TRAINING PROGRAMS ATTENDED</h3>'],
        ],
    'options'=>['id'=>'dynagrid-1'], // a unique identifier is important
]); ?>

这是JavaScript代码

$this->registerJs("$(function(){

    $('.opener').click(function(e) {

            alert(e.data);
           //alert($(this).val());
            e.preventDefault();
            ViewPDfAttach();

    });

});“);

这是我在gridview中单击按钮时界面显示为空的图像

呼叫alert(e.data); 表示您想从函数回调中获取变量e的值。

在调用alert($(this).val()); 表示您想从元素中的value属性获取值,但是在您的元素中找不到value属性。

根据您的元素结构,如果要从data属性获取值,则可以执行以下操作:

alert($(this).attr('data'));

如果您的元素具有<a data-hello="Hello there">Click me</a> ,则可以<a data-hello="Hello there">Click me</a>警告:

alert($(this).data('hello'));

请参阅此处以获取更多信息:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM