选择菜单以链接到 jquery 选项卡
Select menu to link to jquery tab
>我正在使用jQuery Show/Hide插件在3个选项卡中显示内容(map-americas,map-europe和map-aspac)。
我有一个列出国家/地区的选择菜单,但是当选择其中一个国家/地区时,我希望相应的"选项卡"可见。
我的代码如下;
<div id="map-global">
<div id="selection">
<select name="jumpMenu" id="jumpMenu">
<option value="#map-americas">Americas - Cuauhtémoc</option>
<option value="#map-americas">Americas - New York</option>
<option value="#map-americas">Americas - Santa Clara</option>
<option value="#map-europe">Europe - Accrington</option>
<option value="#map-europe">Europe - Barcelona</option>
<option value="#map-europe">Europe - Bergamo</option>
<option value="#map-aspac">Asia Pacific - Lane Cove</option>
<option value="#map-aspac">Asia Pacific - Mumbai</option>
<option value="#map-aspac">Asia Pacific - Singapore</option>
</select>
</div>
</div>
<div id="map-americas">
Some content
</div>
<div id="map-europe">
Some content
</div>
<div id="map-aspac">
Some content
</div>
<ul class="nav">
<li><a class="loc-global" href="#map-global"></a></li>
<li><a class="loc-america" href="#map-americas"></a></li>
<li><a class="loc-europe" href="#map-europe"></a></li>
<li><a class="loc-apac" href="#map-aspac"></a></li>
</ul>
如您所见,"选择"div 包含选择菜单,根据您选择的项目,应显示相应的"map-X"div。
注意:我已经编辑了上面的代码,以指示当用户第一次进入页面时,选择是在"map-global"div中。
因此,当用户选择一个选项时,"map-global"应该隐藏,"map-americas","map-europe"或"map-aspac"div应该显示。此外,"nav"无序列表中的相应链接应应用"当前"类。
如果你不想改变你的 HTML,你可以这样做:
$(function() {
var $maps = $('#map-americas').add('#map-europe').add('#map-aspac');
$maps.hide();
$maps.add('#map-global');
$navItems = $('ul.nav a');
$("#jumpMenu").change(function() {
$maps.hide();
var mapName = $(this).val();
$(mapName).show();
$navItems.removeClass('current');
$navItems.filter('[href=' + mapName + ']').addClass('current');
});
});
这
应该可以解决问题:)
.HTML:
<div class="map" id="map-americas">
Some content
</div>
<div class="map" id="map-europe">
Some content
</div>
<div class="map" id="map-aspac">
Some content
</div>
.JS:
$(function() {
$("#jumpMenu").change(function() {
$("div.map").hide();
$($(this).val()).show();
});
$("div.map").hide();
});
这就是我要做的:
// Cache variable that searches for all divs with an id that
// begins with "map-" and immediately hide them.
var $mapTabs = $("div[id^='map-']").hide();
// Attach change event handler
$("#jumpMenu").on("change", function() {
// Hide all map tabs
$mapTabs.hide();
// Filter map tabs down to the selected option and show it
$mapTabs.filter("#" + this.value).show();
}).change(); // immediately invoke so the default option's tab is shown
查看工作 jsFiddle 演示
相关文章:
- 使用jQuery选项卡来显示或隐藏其他内容
- 如何将导航菜单链接到jQuery选项卡
- jQuery选项卡出现问题
- 单击选项卡时jquery选项卡选择不起作用
- 使用Jquery选项卡禁用Accordion操作
- PHP Jquery选项卡:内容加载到一个选项卡's面板
- 在 jquery 选项卡中查找 span 标记并返回该索引
- 遍历下一个和上一个 jQuery 选项卡
- 防止Jquery选项卡中的dafail操作
- Jquery选项卡:打破创建-选择-重新加载循环
- jquery选项卡加载Ajax内容
- Jquery选项卡容器不工作(未检测到,tabs()函数)
- jQuery选项卡的自定义脚本
- Jquery选项卡单击时高亮显示'下一步'按钮
- 正在从maphilight href加载Jquery选项卡
- javascript/jquery选项卡在IE7、8或9中不起作用
- jquery选项卡和js加载内容
- 带有链接的jquery选项卡会记住最后一个活动项
- JQuery选项卡没有't工作-没有错误
- JQuery 选项卡内容帮助 - 1.4.