超链接单击弹出JQuery对话框并返回称为PHP

时间:2012-01-12 21:24:34

标签: php jquery ajax dialog popup

我非常肯定之前已经提到过这种变化,我的问题源于我对它如何运作的基本知识。我一直在阅读和阅读,并且我正在转向stackoverflow以获得有关我的问题/问题的一些帮助。

让我向大家描述我想要的东西。当通过php include调用在我的网页上构建表时,该表包含一个名为“Info”的列,并且在该列的每一行中,都是一个创建的超链接,称为info。我想要做的是,当点击超链接时,我想返回某种警报弹出窗口,jquery对话框等弹出窗口,如果导航到该页面,信息链接将返回的数据。所以从理论上讲,我正在消除导航并在友好的对话框中向用户提供这些信息。

所以在索引页面上发生了一切,我的代码如下:

include buildtable.php

然后在buildtable.php中我循环查询并构建一个表。与链接关联的列如下所示:

echo '<td>&nbsp;&nbsp;<a href="anotherpage.php?CheckoutId='.$DataArrDT[5].'&DbSchemaID='.$DataArrDT[2].'&DbId='.$DataArrDT[3].'">Info</a>&nbsp;&nbsp;</td>';

如果我导航到该页面,现在上述工作;但是,我想尝试在对话框中显示它。

我的问题如下:

1)我应该如上所述保持链接的构造,还是应该将其更改为:

echo '<td>&nbsp;&nbsp;<a href="#" id="infopopup" onclick="getInfo();">Info</a>&nbsp;& nbsp;</td>'; 

2)jquery对话让我很困惑,我甚至不确定我是否在正确的轨道上......

function getInfo(){
var $dialog = $('<div class="blah"></div>')
var $link = $this.val();)
.dialog({
    autoOpen: false,
    title: 'Information'

    $.ajax {(
                    url:'myphpfile.php',
                    dataType: 'html',
                    data: 'link=' $link,  
        success: function( data ){  
            $('#<div id section on calling page>').html( data );  
        }//end success
    }); //end ajax

});//end dialog

} //结束函数

非常感谢任何帮助和/或良好的教程链接。

1 个答案:

答案 0 :(得分:1)

使用此链接

echo '<td>&nbsp;&nbsp;<a id="infopopup" href="anotherpage.php?CheckoutId='.$DataArrDT[5].'&DbSchemaID='.$DataArrDT[2].'&DbId='.$DataArrDT[3].'">Info</a>&nbsp;&nbsp;</td>';

并使用此javascript

$('#infopopup').click(function() {
    var url = this.href;
    var dialog = $("#dialog");
    if ($("#dialog").length == 0) {
        dialog = $('<div id="dialog" style="display:hidden"></div>').appendTo('body');
    } 

    // load remote content
    dialog.load(
            url,
            {},
            function(responseText, textStatus, XMLHttpRequest) {
                dialog.dialog();
            }
        );
    //prevent the browser to follow the link
    return false;
});`