繁体   English   中英

AJAX via Unordered List(下拉菜单)

[英]AJAX via Unordered List (Dropdown menu)

我想知道我是否可以将值传递给我的ajax / php调用,而不使用表单/选择。 可以通过ul或li来完成吗?

我的代码:

<script>
function showUser(str)
{
    if (str=="")
    {
        document.getElementById("activities").innerHTML="";
        return;
    } 
    if (window.XMLHttpRequest)
    {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("activities").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","branch.php?q="+str,true);
    xmlhttp.send();
}
</script>
<nav class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-list"></i><span id="Branch">&nbsp;Activites</span></a>
    <ul class="dropdown-menu">
        <li>Option1</li>
        <li>Option2</li>
        <li>Option3</li>
        <li>Option4</li>
    </ul>
</nav>

选择菜单工作,但我想要一个这样的菜单: http//twitter.github.com/bootstrap/components.html#dropdowns

<select onchange="showUser(this.value)">
<option value="Option1">Option1</option>
<option value="Option2">Option2</option>
<option value="Option3">Option3</option>
<option value="Option4">Option4</option>
</select>

考虑使用jQuery来加速开发,但在此之前你可以使用类似的东西

<ul id="myMenu">
  <li>content</li>
  ...
</ul>

<script>
document.getElementById('myMenu').addEventListener('click', function(event) {
  if ('li' != event.target.tagName) {
    return;
  }

  var str = event.target.innerText;
  showUser(str);
}, false);
</script>

使用jQuery的当然会更整洁

$("#myMenu > li").click(function (ev) {
  var str = $(this).html();
  showUser(str);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM