【问题标题】:Hyperlink Click Popups Up JQuery Dialog And Returns Called PHP超链接点击弹出JQuery对话框并返回调用PHP
【发布时间】:2012-01-12 21:24:33
【问题描述】:

我很确定以前有人问过这个问题的变体,我的问题源于我对这一切如何运作的基本知识。我一直在阅读,阅读和阅读,我正在转向 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

}//结束函数

任何帮助和/或好的教程链接将不胜感激。

【问题讨论】:

    标签: php jquery ajax dialog popup


    【解决方案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;
    });`
    

    【讨论】:

    • 我稍微修改了这个,因为我无法让它与提供的信息一起工作。我将 $('#infopopup').click(function 更改为 .live('click', function(),但无论没有创建对话框弹出窗口......相反,我将内联结果添加到正文中。我的假设在这里appentTo(body) 是做什么的。对于我当前的实现,这是可行的。再次感谢您的帮助。
    猜你喜欢
    • 2011-12-12
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 2012-01-17
    • 2012-04-27
    相关资源
    最近更新 更多