PHP:如何基于单击的按钮在模式框中显示数据;gridview中的行id是多少?
我有一个包含kartik GridView的Yii2基本应用程序,它具有index.php视图。有一个包含PHP:如何基于单击的按钮在模式框中显示数据;gridview中的行id是多少?,php,jquery,twitter-bootstrap,bootstrap-modal,yii2-basic-app,Php,Jquery,Twitter Bootstrap,Bootstrap Modal,Yii2 Basic App,我有一个包含kartik GridView的Yii2基本应用程序,它具有index.php视图。有一个包含查看按钮的操作列,如果单击该按钮,将页面重定向到查看.php的视图 如果单击查看按钮,页面将重定向到查看.php,并根据id显示数据 对于上图中的示例,该表在视图列中包含两个按钮。如果单击第一个(顶部)按钮,它将在id列(表的左侧)的id上显示数据库,因此它将显示具有id=1的数据。 我已经成功地创建了这个动作 但是我需要在模式框中显示数据。所以我使用yii\bootstrap\Modal
查看
按钮的操作列,如果单击该按钮,将页面重定向到查看.php的视图
如果单击查看按钮,页面将重定向到查看.php,并根据id显示数据
对于上图中的示例,该表在视图列中包含两个按钮。如果单击第一个(顶部)按钮,它将在id
列(表的左侧)的id
上显示数据库,因此它将显示具有id=1
的数据。
我已经成功地创建了这个动作
但是我需要在模式框中显示数据。所以我使用yii\bootstrap\Modal
。我已经成功地在模式框中显示了数据。对于第一次单击,它将弹出包含基于id
的数据的模式框,但对于下一次单击按钮,它还将显示基于从第一次单击按钮获得的id
的数据
对于上图中的示例:
我第一次单击第二行的按钮(id=2
),然后弹出一个包含id=2
数据的模式框,然后单击第一行的按钮(id=1
),它还将弹出一个包含id=2
数据的modalbox
以下是我在index.php中的代码:
$this->registerJs(“”)代码>
只是Yii框架中的一个函数,它允许您在“
之间编写javascript
试试这个:
<?php
Modal::begin([
'id' => 'myModal',
]);
Pjax::begin([
'id'=>'myModal','timeout'=>false,
'enablePushState'=>false,
'enableReplaceState'=>false,
]);
Pjax::end();
Modal::end();
?>
<?php
$this->registerJs("
$('#myModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget)
var href = button.attr('href')
$.pjax.reload('#myModal', {
'url' => href,
});
"); ?>
谢谢你的知识,如果你这么说的话。我可以猜我上面的代码是否不正确。它并没有解决我的问题,它的结果和我的代码一样。
<?php
Modal::begin([
'id' => 'myModal',
]);
Pjax::begin([
'id'=>'myModal','timeout'=>false,
'enablePushState'=>false,
'enableReplaceState'=>false,
]);
Pjax::end();
Modal::end();
?>
<?php
$this->registerJs("
$('#myModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget)
var href = button.attr('href')
$.pjax.reload('#myModal', {
'url' => href,
});
"); ?>