0

クエリから取得した ID を使用していくつかの div があります。この ID は関数で使用され、div onclick を表示/非表示にします。私の問題は、以下のコードを使用すると、「表示」が「非表示」に変更されて div が開くように見えますが (「非表示」をクリックしても「表示」に変更されません)、div の内容は表示されません。

JavaScript:

function toggle(id) {
   var ele = document.getElementById(id);
   var text = document.getElementById(id);
             if(ele.style.display == "block") {
             ele.style.display = "none";
             text.innerHTML = "show";
 }
 else {
    ele.style.display = "block";
    text.innerHTML = "hide";
 } 
 } 

php:

echo "Info: <a id='$id' href='javascript:toggle(\"$id\");'>show</a>";
      echo"<div id='$id' style='display: none'></div>";
4

2 に答える 2

2

同じIDを2回使用していますが、これは間違っています。タグのIDに_toggleを追加すると、これを修正できます。

コードをこれに変更すると、機能する可能性があります。

Javascript:

function toggle(id) {
    var ele = document.getElementById(id);
    var text = document.getElementById(id + '_toggle');
    if(ele.style.display == 'block'){
        ele.style.display = 'none';
        text.innerHTML = 'show';
    }else{
        ele.style.display = 'block';
        text.innerHTML = 'hide';
    }
}

php:

echo 'Info: <a id="'.$id.'_toggle" href="javascript:toggle(\''.$id.'\');">show</a>';
echo '<div id="'.$id.'" style="display: none;"></div>';
于 2012-09-17T06:30:11.290 に答える
0

hrefとdivの両方に同じIDを使用しています

php:

  echo "Info: <a id='$id' href='javascript:toggle(\"$id\");'>show</a>";
  echo"<div id='$id' style='display: none'></div>";

Aの$idを変更します。

于 2012-09-17T06:28:42.323 に答える