PHP JQuery文档准备添加IF语句中断.show()

时间:2013-03-21 03:18:31

标签: php jquery if-statement document-ready

以下代码放在(document).ready函数中,用于正确显示订单:

    <?php   if (isset($_POST['preview-order'])) {    //IF PREVIEW FORM  ?>
            $("#cam-order-preview").show('slow');
    <?php   } else {                                //ELSE ORDER FORM  ?>               
        if (lastAreaVisible != "") { 
            $("#<?php echo $_SESSION['last_area_visible'];?>").css("visibility", "visible");
            $("#<?php echo $_SESSION['last_area_visible'];?>").css("position", "relative");
            $("#<?php echo $_SESSION['last_area_visible'];?>").css("display", "block");
            $("#<?php echo $_SESSION['last_area_visible'];?>").show('slow');            
        } 
            $("#cam-order-form").show('slow');
            $("#cam-order-nav").show('slow');                   
            $("#order-comment-box").show('slow');

问题是,如果&#39; last_area_visible&#39;如果设置了值,我想有条件地隐藏其他部分,所以我添加了一个else语句,但是else语句导致整个表单中断,没有任何东西可以显示,好像jquery停止解析一样。

<?php   if (isset($_POST['preview-order'])) {   //IF PREVIEW FORM   ?>
                $("#cam-order-preview").show('slow');
        <?php   } else     {                                //ELSE ORDER FORM   ?>              
if (lastAreaVisible != "") { 
 $("#<?php echo $_SESSION['last_area_visible'];?>").css("visibility", "visible");
 $("#<?php echo $_SESSION['last_area_visible'];?>").css("position", "relative");
 $("#<?php echo $_SESSION['last_area_visible'];?>").css("display", "block");
 $("#<?php echo $_SESSION['last_area_visible'];?>").show('slow');           
} else { 
 $("#cam-order-form").show('slow');
 $("#cam-order-nav").show('slow');                  
 $("#order-comment-box").show('slow');
}

有什么见解?顶级代码工作并显示所有部分,我只想隐藏底部三个,但jquery并不喜欢它,因为一些奇怪的原因。

1 个答案:

答案 0 :(得分:0)

最后想出来了,这个问题发生了,因为顶部块中的选择器实际上是凸轮顺序形式内的嵌套div。添加

 $("#cam-order-form").show('slow');
 $("#cam-order-nav").hide('slow');

到顶部if块由于div的嵌套而允许所需的行为。

另外在显示或隐藏时要小心的事情会产生意想不到的结果:检查你想要显示的div的嵌套。