jquery ui选项卡如何使用选项选择工作
How work jquery ui tabs using option selected
是否有办法在Jquery ui选项卡中使用选项选择作为选项卡选择器?我使用Javascript使选择选项看起来像标准的选项卡选择器,但不能注入jquery选项卡来取代原来的HTML列表选择器。
<div id="tabs">
<select class="feature-select">
<option rel="#tab-1" selected="" value="">Tab 1</option>
<option rel="#tab-2" value="">Tab 2</option>
</select>
<div id="tab-1">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper
leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum.
Nunc tristique tempus lectus.</p>
</div>
<div id="tab-2">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper
leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum.
Nunc tristique tempus lectus.</p>
</div>
</div>
JSFiddle: http://jsfiddle.net/0e2cxeL2/
您可以使用更改处理程序(但需要修改段插件如下所示),然后在该更改处理程序中切换显示,如
(function($) {
$.fn.extend({
Segment: function() {
$(this).each(function() {
var self = $(this);
var wrapper = $("<div>", {
class: "ui-segment"
});
$(this).find("option").each(function() {
var option = $("<span>", {
class: 'option',
text: $(this).text(),
value: $(this).val()
});
if ($(this).is(":selected")) {
option.addClass("active");
}
wrapper.append(option);
});
wrapper.find("span.option").click(function() {
wrapper.find("span.option").removeClass("active");
$(this).addClass("active");
self.val($(this).attr('value')).change(); //minor change here to trigger the change event on click
});
$(this).after(wrapper);
$(this).hide();
});
}
});
})(jQuery);
$(function() {
$(".feature-select").Segment();
$(".feature-select").change(function() {
var $selected = this.value ? $(this.value).show() : $();
$('#tabs > .tab').not($selected).hide();
}).change()
});
.ui-segment {
color: #3599B0;
border: 1px solid #3599B0;
border-radius: 4px;
display: inline-block;
font-family: 'Lato', Georgia, Serif;
}
.ui-segment span.option.active {
background-color: #3599B0;
color: white;
}
.ui-segment span.option {
padding-left: 23px;
padding-right: 23px;
height: 30px;
text-align: center;
display: inline-block;
line-height: 30px;
margin: 0px;
float: left;
cursor: pointer;
border-right: 1px solid #3599B0;
}
.ui-segment span.option:last-child {
border-right: none;
}
.segment-select {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="tabs">
<select class="feature-select">
<option selected="" value="#tab-1">Tab 1</option>
<option value="#tab-2">Tab 2</option>
</select>
<div id="tab-1" class="tab">
<p>1. Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper
leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum.
Nunc tristique tempus lectus.</p>
</div>
<div id="tab-2" class="tab">
<p>2. Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper
leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum.
Nunc tristique tempus lectus.</p>
</div>
</div>
相关文章:
- 使用此选项选择父类内部的类
- 更新:仅根据单选按钮和所选选项选择特定项目
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- ng-单击在IE中不起作用的选项选择Angularjs
- 从选项选择中删除值
- On为<选项>选择等效项
- 用户界面先前选择的选项选择更改
- 使用ng重复或ng选项和删除空白选项选择长方体角度
- 在HTML5、CSS、JavaScript中添加选项选择器,类似于移动应用程序中的选项设置
- 输入:选中,选项:选择选择器
- 根据使用angularjs从下拉菜单中选择的选项选择适当的复选框
- 如何根据 html 中的选项/选择重定向用户(单击按钮后)
- 使用ng选项选择中的ng选项进行过滤器下拉列表
- 如何设置选项选择的值
- 如何搜索长下拉选项/选择列表
- jQuery - 根据下拉选项选择列出结果
- 从选项选择单击时打开 2 个 URL
- 在 Angular JS 中为 ng 选项选择默认值
- 下拉选项选择的操作
- 通过单击单选按钮清除所有选项选择条目