我想知道我是否可以将值传递给我的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"> 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>
答案 0 :(得分:2)
考虑使用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);
});