2015-11-12 38 views
1

我有這樣的PHP代碼:可能將php的條件附加到div的結果?

<?php if ($hide_all_info == 0) { ?> 
    <span class="film_meta_wrap"> 
     <div class="film_meta_title"><?php echo the_title(); ?></div> 
     <div class="film_meta_text"><?php echo $film_meta_info; ?></div> 
    </span> 
<?php } elseif ($hide_all_info == 1) { ?> 
    <span class="film_meta_wrap"></span> 
<?php } ?> 

我需要移動/那if語句的結果追加到現有的div 電流環路項目內,像這樣:

jQuery(".film_meta_wrap").appendTo(".arve-embed-container"); 

我現在結果如預期的那樣,但不是我需要做的事情:不管所述的if語句如何,所有的代碼都被追加,並且它也在每個循環項目中放置相同的跨度(即,不遵守它駐留在內的循環帖子)。那有意義嗎?我將如何讓jQuery在之後追加之後的php變量和條件被解析和填充。併爲每個循環項目。它甚至有可能嗎? Ajax將是一個可接受的解決方案,只是不知道如何工作。

編輯**我修改建議的代碼還追加elseif結果:

<?php if ($hide_all_info == 0) { ?> 

    <script> 
    var _html = '<span class="film_meta_wrap">' 
    +'<div class="film_meta_title"><?php echo the_title(); ?></div>' 
    +'<div class="film_meta_text"><?php echo $film_meta_info; ?></div>' 
    +'</span>'; 
    jQuery('.arve-embed-container').append(_html); 
    </script> 

<?php } elseif ($hide_all_info == 1) { ?> 

    <script> 
    var _html = '<span class="film_meta_wrap"></span>'; 
    jQuery('.arve-embed-container').append(_html); 
    </script> 

<?php } ?> 

回答

0

你可以這樣做:

<?php if ($hide_all_info == 0) { 

    echo '<script>'; 
    $innerHtml = '<span class="film_meta_wrap"> 
        <div class="film_meta_title">'.the_title().'</div> 
        <div class="film_meta_text">'.$film_meta_info.'</div> 
       </span>'; 
    echo 'jQuery(function(){ jQuery(".arve-embed-container").append('.$innerHtml.') });'; 
    echo '</script>' 

} elseif ($hide_all_info == 1) { ?> 
    <span class="film_meta_wrap"></span> 
<?php } ?> 

最後使工作

務必:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
    <!-- jQuery should be decalred on the top ---> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
</head> 
<body> 
    <div class="arve-embed-container"> 

    </div> 

    <?php 
    $hide_all_info = 0; 
    if ($hide_all_info == 0) { 
    $innerHtml = '<span class="film_meta_wrap"> 
        <div class="film_meta_title">Yo</div> 
        <div class="film_meta_text">Wassup</div> 
       </span>'; 
    echo '<script>'; 
    echo '$(function(){ $(".arve-embed-container").append(\''.str_replace("\n", "", $innerHtml).'\') });'; 
    echo '</script>'; 

    } elseif ($hide_all_info == 1) { ?> 
     <span class="film_meta_wrap"></span> 
    <?php } ?> 



</body> 
</html> 
+0

我修改了你的代碼,在上面的代碼中爲'elseif'結果包含另一個'.append()',但它仍然不起作用。如果你想看看測試網站,請點擊這裏:http://davejmoz.com/test – dmoz

+0

查看編輯答案。 – void

+0

你在那裏有一些單引號和雙引號,但在我修正這些後,仍然不起作用。 – dmoz