使用函数中的查询结果显示/隐藏div

时间:2012-09-17 06:25:33

标签: php javascript mysql

我有几个div使用从查询中获取的id,然后在一个函数中使用此id来显示/隐藏div onclick。我的问题是使用下面的代码,div似乎打开" show"改为"隐藏" (单击"隐藏"不会更改为"显示")但不显示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>";

2 个答案:

答案 0 :(得分:2)

你使用相同的ID两次是错误的,在你的标签中添加一个_toggle的id就可以解决这个问题。

将您的代码更改为此代码可能有效:

使用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>';

答案 1 :(得分:0)

你对h​​ref和div使用相同的id

php:

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

更改A的$ id。