2012-02-12 71 views
1

我是我使用simpledialog库(http://dev.jtsage.com/jQM-SimpleDialog/),并包含所有必需的JS和CSS文件,但我无法显示弹出窗口。我究竟做错了什么?我没有看到弹出窗口。为什么simpledialog对话框不会弹出?

$.ajax({ 

         type: "post", 
         url: url, 
         data: $("#login").serialize(), 
         dataType: 'json', 
         success: function (msg) { 

         var message = msg.message; 
          if (message.type == "Success") { 
           window.location.replace("reminder_list.html"); 

          } else if (message.type == "Error") { 


     alert("login error"); //THIS SHOWS 

$(this).simpledialog({ //THIS DOES NOT SHOW 
      'mode': 'bool', 
      'prompt': 'Login Failed: ' + message.content, 
      'buttons': { 
       'OK': { 
        click: function() { 
         $('#dialogoutput').text('OK'); 
        } 
       } 
      } 
     }) 
    } 
+1

我们需要更多的细节,请发布html – rboarman 2012-02-12 18:44:38

+1

这段代码附加了什么事件和元素? – 2012-02-12 18:52:47

+0

我已更新我的代码以显示它在ajax调用的成功处理程序中被调用。 – jini 2012-02-12 19:15:20

回答

0

更新:我能够通过不使用“this”关键字并将其替换为实际的页面div来使其工作。某处某处simpledialog变得困惑和/或这不是它需要的。感谢所有看过这个的人。

+1

Simpledialog必须附加到DOM中的某些东西。当附加到点击事件时,有时存储在“this”关键字中的确实是DOM元素。在你的例子中,它可能是当时Ajax函数的局部范围 - 无论如何,提供一个实际的元素将是一条路。 – 2012-02-12 20:15:43

+0

感谢您的提示。现在我明白了 :) – jini 2012-02-13 06:20:13