0

我有一个 cakephp 视图(index.ctp),其中有编辑按钮。在按钮编辑上,我希望打开 jquery 对话框,其中包含我在 edit.ctp 中的内容。(目前如果我去edit.ctp,它工作正常,但我正在尝试使用模型/对话框,以便用户留在同一页面上)

这就是我在 index.ctp 中的内容

    <td>

                <?php echo $this->Html->link($team['Company']['name'], array('action' => 'edit_reload','team_id'=>$team['Team']['id']), array('id'=>"dialog_link", 'class'=>"ui-state-default ui-corner-all"));?>

            </td>

<div id="dialog" title="Dialog Title">


</div>

现在,当单击链接时,我想在此处显示 edit_reload.ctp 内容。我已经筋疲力尽了,所以任何帮助将不胜感激谢谢

4

1 回答 1

2

在一个单独的 JS 文件中编写以下代码并将您的值添加到变量中,并将 JS 文件包含在您的 .ctp 文件中。

$(document).ready(function() {
    $myWindow = $('#dialog');
    //instantiate the dialog
$myWindow.dialog({ height: 250,
        width: 200,
        modal: true,
        position: 'center',
        autoOpen:false,
        title:'',
        overlay: { opacity: 0.5, background: 'black'}
});
    $J("#dialog_link").click( showDialog );
    });// end (document).ready


  var showDialog = function() {
    var team_id = '';
    var url     = '/controller/action/' + team_id;//Apply path to controller, action
    $.post(url, function(res) {
    $myWindow.dialog({
    title:'Give Title'
});
    $('#dialog').html(res);
    $myWindow.show();
    });
  }    

在 .ctp 文件中使用如下链接-

echo $this->Html->link($team['Company']['name'],'#', array('id'=>"dialog_link", 'class'=>"ui-state-default ui-corner-all"));

我给你展示了一个例子。你也可以在 .ctp 文件中编写 js 代码。

于 2012-04-30T03:22:47.150 回答