Jquery ui 打开多个jQueryUI对话框
我希望一个接一个地打开多个jQuery对话框。但只有第一个打开 Dlg 1——提出了一个是/否问题 Dlg 2——如果是,将单词“go”粘贴到隐藏字段Jquery ui 打开多个jQueryUI对话框,jquery-ui,jquery,Jquery Ui,Jquery,我希望一个接一个地打开多个jQuery对话框。但只有第一个打开 Dlg 1——提出了一个是/否问题 Dlg 2——如果是,将单词“go”粘贴到隐藏字段id=“frmtrig”中,然后触发更改事件。捕获此事件后,它将运行AJAX以使用通过AJAX成功函数接收的html填充$('#message')div,然后将其显示在对话框中 Dlg 3——关闭后,显示最后一个对话框 下面的代码在第2步中断。警报('bonk')甚至没有发生 我还删除了成功函数的警报('bonk')和关闭}之间的所有内容,并且b
id=“frmtrig”
中,然后触发更改事件。捕获此事件后,它将运行AJAX以使用通过AJAX成功函数接收的html填充$('#message')div,然后将其显示在对话框中
Dlg 3——关闭后,显示最后一个对话框
下面的代码在第2步中断。警报('bonk')
甚至没有发生
我还删除了成功函数的警报('bonk')
和关闭}
之间的所有内容,并且bonk警报仍然不显示。有人能发现我的AJAX代码有问题吗?
奇怪的是,我已经做了大量(相对简单的)AJAX,所以我很困惑我被困在这里了请注意,可能需要将我的代码块复制/粘贴到您自己的服务器上的两个或三个文件中,以测试这一点,因为JSFIDLE无法解决AJAX的故障。
我一直没有成功地找到这样做的例子,而我自己在过去两天的努力都没有奏效
HTML
我已经在我的机器上试用了你的代码,它运行得很好 如果未打开第二个对话框,则表示未达到
ajax
请求中的success
你确定问题不是来自错误的路径吗
url: "ajax/ax_all_ajax_fns.php", // Check this path
将其发布到jsfiddle上。这样看是无法修复的。隐藏字段上的更改事件是错误的。这不是change()的工作原理。请在某个地方发布,我会帮助你。你想显示什么最后的对话框?你在JSFIDLE上的代码无法工作,因为ajax请求指向一个无法加载的资源(
ajax/ax\u all\u ajax\u fns.php
not found)。@gibberish我已经在本地测试了你的代码,效果很好,确保文件ajax/ax\u all\u ajax\u fns.php
位于您认为的位置。没有调用success函数,这就是为什么您没有打开其他对话框的原因。您解决了它。我知道路径是正确的(而且是正确的),所以我震惊地发现这是一个404问题,除非我在文件顶部添加一些垃圾HTML(当然这破坏了AJAX)。但至少我知道我现在真正的问题是什么。再次感谢。
$(function(){
var cnt = 0;
var ans = 0;
var seen = 0;
var dlg = $('#message');
dlg.dialog({
title: '"The Big Test',
autoOpen:false,
modal:true,
width: 500,
close: function() {
if (seen==0 && ans > 0) {
cnt++;
seen++;
dlg.dialog('open');
}
}
});
$('#hot_link').hover(
function() {
//Hover-in
if (cnt < 1 || (cnt % 3 == 0)) {
var msg = '<p>If you say NO, the Dialog will just close. If you press YES, an AJAX call will happen.</p>';
dlg.html(msg);
dlg.dialog(
'option',
'buttons',
[{
text: 'Download',
click: function() {
ans++;
//seen = 5;
$('#frmtrig').val('go').change();
$(this).dialog('close');
}
},
{
text: 'Not now',
click: function() {
ans = 0;
$(this).dialog('close');
}
}]
);
dlg.dialog('open');
//alert('hi');
}
cnt++;
},
function() {
//Hover-out
//need this one to prevent duplicating hover-in code
}
);
$('#frmtrig').change(function() {
alert('boink');
$.ajax({
type: "POST",
async: false,
url: "ajax/ax_all_ajax_fns.php",
data: 'request=freegive_99',
success:function(data){
alert('bonk');
alert(data);
var dlg = $('#message');
alert('me be here');
dlg.html(data);
dlg.dialog(
'option',
'buttons',
[{
text: 'OK',
click: function() {
$(this).dialog('close');
}
}]
);
dlg.dialog('open');
}
});
});
}); //END document.ready
if ($_POST['request'] == 'freegive_99') {
echo 'THIS_LINE_WORKS';
}
url: "ajax/ax_all_ajax_fns.php", // Check this path