2013-05-28 86 views
0

我想寫一個查詢(使用JS,HTML和PHP)在哪裏,我嘗試展開或摺疊DIV的內容(它是動態生成的)。我成功地在JS中編寫了DIV展開和摺疊查詢。它給我一個問題。當我嘗試擴展Div 1以下的任何div時,擴展信息僅在DIV 1中顯示。如何在各個Div中擴展?DIV多個動態可摺疊

我複製代碼的一部分:

JS代碼:

function toggle(id) { 
    var e = document.getElementById(id); 
    if (e.style.display == ''){ 
    e.style.display = 'none'; 
    } else { 
    e.style.display = ''; 
    } 
} 

HTML代碼:

<div class="longDes"> 
    <p> 
     <br> 
     <?php echo $rs['shortDescription'];?> 
     <?php $idDiv = $rs['TITLE']; echo $idDiv;?> 
     <BR> 
    </p> 

    <p> 
     <br> 
     <a href = "#" onclick = "toggle('<?php echo $idDiv?>')"> 
       See More information about <?=$rs['TITLE']?></a> 
     <br> 
     <div id = "<?php echo $idDiv ?>" name = "<?php echo $idDiv ?>" style="display:none"> 
     <?php //echo "this is Buy Flag ".$rs['buyStatus']?> 
     <p> 
      <?php echo $rs['description']?> 
     </p> 
    </div> 

能否請您幫助!我不知道該怎麼做!

+0

你能製作[jsFiddle](http://jsfiddle.net/)嗎? –

回答

0

Jquery是一個很好的使用在這裏。我相信下面應該做你以後的事情:

$(document).ready(function() { 
    $(<?php echo $idDiv ?>).slideToggle(); 
}); 

這應該給你一個出發點。您可以將它併入到外部JS文件(即ext.js)中的普通JS函數中。

希望這會有所幫助!

+0

看看問題的標籤。這不是關於jQuery的。 –

0

變化e.style.display == '' 到e.style.display == '塊'

e.style.display = '' 到e.style.display ='塊';

function toggle(id) { 
     var e = document.getElementById(id); 
     if (e.style.display == 'block'){ 
     e.style.display = 'none'; 
     } else { 
     e.style.display = 'block'; 
     } 
    } 

工作的jsfiddle:http://jsfiddle.net/6hdre/

希望這將幫助你!