我有一个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内容。我很累,所以任何帮助将不胜感激 感谢
答案 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代码。