Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery UI模式对话框将自动打开,但不会单击打开_Php_Jquery_Ajax_Json_Dialog - Fatal编程技术网

Php Jquery UI模式对话框将自动打开,但不会单击打开

Php Jquery UI模式对话框将自动打开,但不会单击打开,php,jquery,ajax,json,dialog,Php,Jquery,Ajax,Json,Dialog,虽然这似乎已经被问了一百万次,但无论搜索措辞如何,似乎都能找到确切的问题所在。所以,对“专业人士”来说,还有一个问题。是的,打开对话框相对容易。我创建了一个示例页面来测试代码,并确保它可以正常工作。然后我在click事件中添加了一个alert(),哇!它无法识别单击,但会显示在示例页面上。单击事件 $( "a#newDialog" ).click(function() { $( "#dialog" ).dialog('open'); alert('Button Clicked')

虽然这似乎已经被问了一百万次,但无论搜索措辞如何,似乎都能找到确切的问题所在。所以,对“专业人士”来说,还有一个问题。是的,打开对话框相对容易。我创建了一个示例页面来测试代码,并确保它可以正常工作。然后我在click事件中添加了一个alert(),哇!它无法识别单击,但会显示在示例页面上。单击事件

$( "a#newDialog" ).click(function() {
    $( "#dialog" ).dialog('open');
    alert('Button Clicked');
    return false;
});
示例页面和实际页面之间的区别在于链接本身

<a name="node02" id="newDialog" href="#">OpenDialog</a>


我缩小的范围是链接如何到达页面。在示例页面中,它是静态的。在真实页面中,它是通过一个ajax调用包含的,该调用获取一个json文件,该文件包含链接的标记。因此,这与无法访问对话框函数有关。这是正确的吗?我怎样才能让这一切顺利进行呢?当我们在这里时,我需要知道如何从链接中获取
name=“node2”
,并将其包含到ajax调用的对话框中。

基本上,您的问题是,当您分配单击处理程序时,链接不存在,因此它不会“绑定”到该链接,实际上是无用的。您需要使用jquery“on”:

假设您的链接包含在一个父元素#parentContainerId中,当您分配单击处理程序时,该元素存在于DOM中。在这种情况下,您可以使用上面链接中描述的委派事件

$( "#parentContainerId" ).on('click', 'a#newDialog', function() {
    $( "#dialog" ).dialog('open');
    alert('Button Clicked');
    return false;
});

难以置信,我甚至知道!很明显咖啡已经喝完了,我现在必须休息一下。谢谢你的帮助考虑一下-你:妻子!给我煮咖啡。(妻子不在家)。。。(妻子回家)你:你为什么不给我煮咖啡?妻子:我想我没有收到留言:)