Javascript 使用ajax和jquery单击嵌套无序列表上的子菜单后,站点上的数据未显示
下面是html无序列表实现Javascript 使用ajax和jquery单击嵌套无序列表上的子菜单后,站点上的数据未显示,javascript,jquery,html,ajax,java-ee-7,Javascript,Jquery,Html,Ajax,Java Ee 7,下面是html无序列表实现 <div id="dropdownmenu" style="position: fixed; margin: 0 auto; width: 100%; position: fixed; opacity: 1; text-align: center;"> <ul id='navbar' class="menu"> <li><a href="Home">Home</a>&l
<div id="dropdownmenu" style="position: fixed; margin: 0 auto; width: 100%; position: fixed; opacity: 1; text-align: center;">
<ul id='navbar' class="menu">
<li><a href="Home">Home</a></li>
<li class="active"><a href="#s2"><%= session.getAttribute("name") %></a>
<ul id='profile' class="submenu">
<li id='account'>Account</li>
<li id='password'><a>Change Password</a></li>
<li id='myitinerary'><a>My Itineraries</a></li>
<li id='promotions'><a>Promotions</a></li>
</ul>
</li>
<li><a href="/ExpressBus-war/Logout">Logout</a></li>
</ul>
</div>
这是我试图运行的脚本
<script>
$(function() {
$("#dropdownmenu").click(function(event) {
if(event.target.id === 'myitinerary')
{
$.post({
type: 'POST',
data: {
username: <%= session.getAttribute("username") %>;
},
url: "GetItineraries",
success: function(result){
$('#content2').empty();
$("#content3").empty();
$("#content4").empty();
$('#content').html(result);
}
});
}
});
});
</script>
$(函数(){
$(“#下拉菜单”)。单击(函数(事件){
如果(event.target.id==='MyCinerary')
{
美元邮政({
键入:“POST”,
数据:{
用户名:;
},
url:“获取行程”,
成功:功能(结果){
$('#content2').empty();
$(“#content3”).empty();
$(“#content4”).empty();
$('#content').html(结果);
}
});
}
});
});
我使用的是Netbeans EE,基本上我打算用从servlet获得的结果填充内容。但到目前为止,我所尝试的一切都没有成功。我设法解决了这个问题,我需要修改脚本中的一些内容。后来它起作用了
$(function() {
$("#profile li").click(function(event) {
if(event.target.id === 'myitinerary')
{
$.post({
type: 'POST',
data: {username: '<%= session.getAttribute("name") %>' },
url: "GetItineraries",
success: function(result){
$('#content2').empty();
$("#content3").empty();
$("#content4").empty();
$('#content').html(result);
}
});
}
});
});
$(函数(){
$(“#profile li”)。单击(函数(事件){
如果(event.target.id==='MyCinerary')
{
美元邮政({
键入:“POST”,
数据:{用户名:'},
url:“获取行程”,
成功:功能(结果){
$('#content2').empty();
$(“#content3”).empty();
$(“#content4”).empty();
$('#content').html(结果);
}
});
}
});
});
控制台中有错误吗?如果是的话,那是什么?我得到的唯一错误是chrome中的意外令牌错误。除此之外,我还尝试在netbeans上调试。单击子菜单不会引发脚本中应有的事件。我不知道这是否能解决您的问题,但我确实看到一些可能导致错误的情况。在$.post
调用中,您的数据
参数可能格式错误。更改:用户名:代码>收件人:用户名:“”代码>(用引号括起来)@RicoKahler嗨,我试着实现你的解决方案。没有什么变化。仍然没有调用click事件。但奇怪的是,如果我将脚本中的id从#dropdownmenu更改为#profile li,事件就会被调用。但是它不适用于我尝试使用#profile li id的子菜单。也没有发生任何事情。您是否尝试将事件列表器直接添加到myinventary
元素,即:$(“#myinventary”)。单击(事件=>/*您的代码*/)