如何在dropmenu中引用具有id的元素

时间:2016-09-26 13:44:13

标签: javascript php jquery html css

请帮我这个脚本。我试图将一些PHP代码链接到下拉菜单,但我没有反应....

代码是:

js code:

function loadDoc1() {
      var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("show2").innerHTML = this.responseText;
            }
        };
        xhttp.open("GET","user_manag.php",true);
        xhttp.send();
    }

    $(document).ready(function() {
        $("#a2").click(function() {
            $("#show2")".load("user_manag.php",function(responseTxt, statusTxt, xhr) {
                if(statusTxt == "success")
                    alert("External content loaded successfully!");
                if(statusTxt == "error")
                    alert("Error: " + xhr.status + ": " + xhr.statusText);
            });
        });
    });

HTML标记:

<nav class="navbar navbar-inverse" style="border:4px solid white">
  <div class="container-fluid">
    <div class="navbar-header" style="margin-top:5px;">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button> 
      <a href="http://www.april-romania.ro"><img src="logo1.jpg" style="width:40px;height:40px;"></a>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar">
      <ul class="nav navbar-nav" >
        <li><a href="#"><span class="glyphicon glyphicon-search"></span>Search</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">ADMIN
          <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a id="a1" href="#" action="loadDoc1()">User management</a></li>
            <li><button id="button1">User management</button></li>
            <li><a id="a2" href="#">Log report</a></li>
            <li><a href="#">Change caseID</a></li>
            <li><a href="#">Code tables</a></li>  
          </ul>
        </li>  
</div>
<div class="container-fluid text-center">
  <div class="row content">
    <div class="col-sm-1 sidenav" style="border: 4px solid white";>

    </div>

    <div id="show2" class="col-sm-8 text-left" style="background-color:rgb(200,200,200);border: 4px solid white; height: 100%">
            hereeeeeeeeee

    </div>
    <div class="col-sm-3 sidenav" style="background-color:gray;border: 4px solid white">

    </div>
  </div>
</div>

user_manag.php是:

<?php

echo "user management";

?>

当我访问其中一个菜单链接时,我尝试更改<div>#swow2中的内容....我尝试使用jj,使用jQuery,使用属性操作onclick ,有链接,按钮......似乎没什么用。我认为它并没有认识到我给'a&#39;&#39;或者按钮&#39;菜单中的元素。

1 个答案:

答案 0 :(得分:0)

问题是您的HTML有几个缺少结束标记。您在注释中指出的JS中也有错误。这是干净的脚本(现在它可以工作):

HTML&amp; JS

<nav class="navbar navbar-inverse" style="border:4px solid white">
  <div class="container-fluid">
    <div class="navbar-header" style="margin-top:5px;">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button> 
      <a href="http://www.april-romania.ro"><img src="logo1.jpg" style="width:40px;height:40px;"></a>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar">
      <ul class="nav navbar-nav" >
        <li><a href="#"><span class="glyphicon glyphicon-search"></span>Search</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">ADMIN<span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a id="a1" href="#" action="loadDoc1()">User management</a></li>
            <li><button id="button1">User management</button></li>
            <li><a id="a2" href="#">Log report</a></li>
            <li><a href="#">Change caseID</a></li>
            <li><a href="#">Code tables</a></li>  
          </ul>
        </li>
      </ul>  
    </div>
  </div>
</nav>
<div class="container-fluid text-center">
  <div class="row content">
    <div class="col-sm-1 sidenav" style="border: 4px solid white"></div>
    <div id="show2" class="col-sm-8 text-left" style="background-color:rgb(200,200,200);border: 4px solid white; height: 100%">
            hereeeeeeeeee
    </div>
    <div class="col-sm-3 sidenav" style="background-color:gray;border: 4px solid white"></div>
  </div>
</div>

<script>
function loadDoc1() {
      var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("show2").innerHTML = this.responseText;
            }
        };
        xhttp.open("GET","user_manag.php",true);
        xhttp.send();
    }

    $(document).ready(function() {
        $("#a2").click(function() {
            $("#show2").load("user_manag.php",function(responseTxt, statusTxt, xhr) {
                if(statusTxt == "success")
                    alert("External content loaded successfully!");
                if(statusTxt == "error")
                    alert("Error: " + xhr.status + ": " + xhr.statusText);
            });
        });
    });
</script>