在对话框实现中需要一些指导

时间:2012-04-30 00:28:44

标签: jquery-ui cakephp jquery cakephp-1.3 cakephp-2.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内容。我很累,所以任何帮助将不胜感激 感谢

1 个答案:

答案 0 :(得分:2)

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

$(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代码。