2011-10-05 65 views
1

我想包含一個文件(menu.php)兩次,但在該文件中我有一個帶有ID的div。 這裏是menu.php:包括ID兩次ID可能?

<?php 
    for ($b = 1; $b <= 10; $b++) 
    { 
     $width = 220; 
     $width /= $b; 
?> 
    <div id="menuH<?php print $b; ?>" style="display: none;"> 
    <?php 
     for ($a = 1; $a <= $b; $a++) 
     { 
      print '<div class="voorbeeld_menuH" style="width: '.($width - 1).'px;" ><b>M</b></div>'; 
     } 
    ?> 
    </div> 
<?php 
    } 
    for ($b = 1; $b <= 10; $b++) 
    { 
?> 
     <div id="menuV<?php print $b; ?>" style="display: none;"> 
     <?php 
      for ($a = 1; $a <= $b; $a++) 
      { 
       print '<div class="voorbeeld_menuV" ><b>M</b></div>'; 
      } 
     ?> 
     </div> 
<?php 
    } 
?> 

Javascript代碼:

function menu(dropdown) 
{ 
    var myindex_M = dropdown.selectedIndex; 
    var waarde_M = dropdown.options[myindex_M].value; 
    var i = 1; 
    var a = 1; 

    if(waarde_M == " - - - -") 
    { 
     for(i = 1;1 <= 10;i++) 
     {  
      document.getElementById("menuH" + i).style.display = "none"; 
      document.getElementById("menuV" + i).style.display = "none"; 
     } 
    } 
    for(i = 1;i <= 10;i++) 
    { 
     if(waarde_M == "Menu H " + i) 
     { 
      document.getElementById("menuH" + i).style.display = ""; 
      for(a = 1;a <= 10;a++) 
      { 
       if(a == i) { continue; } 
       document.getElementById("menuH" + a).style.display = "none"; 
      } 
     } 
    } 
} 

在哪裏我想包括這個:

<?php 
    include("Menu.php"); 

    for ($b = 1; $b <= 5; $b++) 
    { 
?> 
     <div id="content" style="display: none;"> 
     <?php 
      for ($a = 1; $a <= $b; $a++) 
      { 
       print '<div class="voorbeeld_content'.$b.'"><b>Content</b></div>'; 
      } 
     ?> 
     </div> 
<?php 
    } 
?> 

太包括在這裏:

<?php 
    include("Menu.php"); 

    for ($b = 1; $b <= 5; $b++) 
    { 
?> 
     <div id="header" style="display: none;"> 
     <?php 
      for ($a = 1; $a <= $b; $a++) 
      { 
       print '<div class="vooorbeeld_header.$b.'"><b>H</b></div>'; 
      } 
     ?> 
     </div> 
<?php 
    } 
?> 

問題是,javascrip t代碼只適用於menu.php,而不是content.php和header.php,因爲ID標籤,我該如何解決這個問題?

+3

ID必須是唯一的。總是。 – ThiefMaster

+0

我知道,但是有沒有解決這個問題的辦法? –

+0

使用唯一的ID或類。在後一種情況下,我建議你添加jQuery,以便通過類名等方式輕鬆查詢元素('$('。class')') – ThiefMaster

回答

0

the id has to be unique。總是。就這樣。改變你的代碼,給不同的id作爲menue或use類的不同內容。

引述W3C

屬性定義

ID:該屬性分配一個名稱的元素。該名稱在文檔中必須是唯一的。

+0

如何更改JavaScript內部類的顯示? –

0

您不能將相同的id賦予相同類型的控件或其他類型的控件。那是它的獨特身份。您必須更改代碼,使每個控件在網頁中具有唯一的ID ...

0

在頁面上不能有兩個或多個具有相同ID的元素。 JavaScript不會選擇這兩個元素,因爲ID必須是唯一的。嘗試找到一種方法在您的元素上添加唯一的ID。