为什么在通过$ .ajax()方法调用时不会显示jQuery颜色框弹出窗口?

时间:2013-10-04 04:38:59

标签: javascript ajax jquery colorbox

我在$ .ajax()方法的成功:function()中调用隐藏的颜色框弹出窗口,但我无法显示。我之前做了同样的事情,但当时它工作正常,现在它没有显示指定的隐藏弹出窗口。这个实现与之前实现的唯一区别是我在前面的实现中使用$ .ajax()方法的数据attrribute。那件事对我目前的问题负责吗?请帮我解决这个问题。为了您的参考,我正在按如下方式提供必要的代码片段:

    <div class="hidden">
      <div id="emailinfoPopContent" class="c-popup">
        <h2 class="c-popup-header">Email Invoice</h2>
        <div class="c-content">         
          <h3>Invoice has been sent to your email id</h3>
        </div>
      </div>
    </div>

    <script language="javascript" type="text/javascript">
    $(document).ready(function(){   
    $(document).on('click', '#email_url', function (e) { 

    e.preventDefault();

    var post_url = $(this).attr('href');

    $.ajax({
      url: post_url,
      type : 'get',
      dataType: 'json',
      success: function(data) {
      var status       = data.status;
      var dialog_title = "Email Invoice";
      var message      = data.msg; 

      if(status == 'success') {
        $.colorbox({
          inline:true, 
          href: "#emailinfoPopContent",
          width:666
        });
        //alert(message);          
      } else {     
        $.colorbox({
          inline:true, 
          href: "#emailinfoPopContent",
          width:666
          });    
        //alert(message);           
        }  
      }
    });  
  });
});

</script>

我想说的另一件事是我从json格式的PHP代码中得到了正确的响应,如果我显示警告而不是colorbox它会正确显示所需的响应。在firebug控制台中找不到语法错误,我正在使用jQuery 1.9

2 个答案:

答案 0 :(得分:0)

尝试添加open: true,例如:

$.colorbox({
    inline:true, 
    href: "#emailinfoPopContent",
    width:666,
    open: true
});

答案 1 :(得分:0)

你可以尝试这样的事情。我不确定这个

var show_html = $('emailinfoPopContent').html();
   $.colorbox({html:show_html});