使用下拉菜单的Ajax动态内容
Dynamic Content with Ajax Using a Dropdown Menu
当您单击下拉菜单时,我要做的是将另一个页面中的特定div加载到div中。
这是我的下拉菜单代码,div #location-info
是我想要将信息拉入的位置。
<div class="nav-location">
<ul>
<li class="locationhead"><a href="#">Select Locations</a>
<ul id="location-options">
<li><a href="http://modocom.ca/gillons/atikokan/">Atikokan</a></li>
<li><a href="http://modocom.ca/gillons/dryden/">Dryden</a></li>
<li><a href="http://modocom.ca/gillons/emo/">Emo</a></li>
<li><a href="http://modocom.ca/gillons/fort-frances/">Fort Frances</a></li>
<li><a href="http://modocom.ca/gillons/rainy-river/">Rainy River</a></li>
<li><a href="http://modocom.ca/gillons/red-lake/">Red Lake</a></li>
<li><a href="http://modocom.ca/gillons/sioux-lookout/">Sioux Lookout</a></li>
<li><a href="http://modocom.ca/gillons/thunder-bay/">Thunder Bay</a></li>
</ul>
</li>
</ul>
</div>
<div id="location-info"></div>
现在,这是我在网站页脚中的脚本,试图从下拉列表中每个项目的a href中提取内容。。。
$('#location-options').on('click', 'a', function (event) {
$el = $(event.target);
$.ajax({
type: 'GET',
url: $el.attr('href'),
success: function (html) {
$('#location-info').html(html);
}
});
return false;
});
我认为,当你点击时,这会从下拉列表中其他页面的div位置信息中提取信息,这样信息就会改变,你就会得到位置信息。例如,这是modocom.ca/gillons/emo的页面,我想从location-div
中提取信息
<div id="location-info">
<div class="sevencol">
<h4>Gillons | Emo</h4><p>74 Front St<br />Emo, ON P0W 1E0</p>
<p>Phone: (807) 482-2146<br />Fax: (807) 482-2757</p>
</div>
<div class="fivecol last">
<h4>Office Hours</h4><p>Monday-Friday<br />8:30am - 5:00pm</p>
</div>
</div>
因此,当有人点击Emo时,上面的HTML就是我试图拉到location-info
div中的内容,然后当你从下拉菜单中选择不同的位置时,它会发生变化。
我在用Wordpress,但这些东西都是硬编码的。
在与这个问题作斗争时,希望有人能伸出援手,似乎能让我不知所措。
我认为您的问题是在$('#location-info').html(html);
行中,您从所选链接中提取整个网站内容,并将其填充到<div>
中。相反,您应该只从html
变量中获取<div id="location-info">
。此外,点击的正常行为在这里也没有被阻止——它只是跟随链接。此外,$el.attr('href')
不会返回带有链接的字符串,而是一个空对象,请自行检查。
编辑:我能够将"点击"事件绑定到每个链接,因此它不跟随链接,而是简单地在div中显示href,然后发出ajax请求。
这是我的JSFiddle示例:
http://jsfiddle.net/mUThR/51/
Ajax请求失败,但在控制台中我可以看到这是由于Proxy 407 error, access denied
;但它应该在你的机器上工作。如果是这样,您仍然需要从返回的html中提取适当的div。
干杯。
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- jQuery-通过AJAX调用动态添加具有值的表单元格
- 使用AJAX在Rails中提交动态表单的最佳方式是什么
- 如何创建动态ajax提交表单
- ajax请求的动态谷歌图表
- 引导下拉列表动态 ajax 列表项
- 如何使用Laravel进行动态Ajax请求
- jQuery和perl:基于状态的进度条;管道文件”;,动态ajax
- 动态 Ajax MySQL 列表与点击
- JQUERY:动态 AJAX 和 html 元素删除
- Nivoslider(在动态 ajax 内容中)不会在第一次加载时加载图像
- 将动态 AJAX 函数嵌套在 JavaScript 函数中 - 并保持更新
- Webapp-适用于多种表单的动态Ajax
- 带提交的动态Ajax表单
- 对动态(AJAX)加载的数据执行jQuery方法.on()
- 动态ajax引导模式盒不能工作
- 在动态AJAX加载时,哪里是存储支持JSON的最佳位置
- 动态Ajax加载的条形图不显示
- 如何在100%动态AJAX ASP.NET网站中激发javascript