1

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

    <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 代码中获得了正确的响应,如果我显示警报而不是颜色框,它会正确显示所需的响应。在 firebug 控制台中没有发现语法错误,我使用的是 jQuery 1.9

4

2 回答 2

0

尝试添加open: true,例如:

$.colorbox({
    inline:true, 
    href: "#emailinfoPopContent",
    width:666,
    open: true
});
于 2013-10-04T04:56:15.347 回答
0

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

var show_html = $('emailinfoPopContent').html();
   $.colorbox({html:show_html});
于 2013-10-04T05:22:23.393 回答