JqWidget选项卡 - 动态添加ajax内容的选项卡
问题描述:
我想创建一个动态的点击将数据附加到选项卡,但我得到的选项卡未定义。你能告诉我什么是错的吗?不太清楚是什么的情况下,JqWidget选项卡 - 动态添加ajax内容的选项卡
我的JS
<script type="text/javascript">
$(document).ready(function() {
// Create jqxTabs.
$('#jqxTabs').jqxTabs({ width: 580, height: 200,showCloseButtons: true });
var length = $('#jqxTabs').jqxTabs('length') + 1;
var loadPage = function (url) {
$.get(url, function (data) {
data;
// console.log($('#content' + length).text(data));
// console.log(data);
});
}
$('div.s span').click(function() {
var getvalue = $(this).attr('rel');
$('#jqxTabs').jqxTabs('addFirst', 'Sample title',loadPage(getvalue).text());
$('#jqxTabs').jqxTabs('ensureVisible', -1);
});
// $('#jqxTabs').on('selected', function (event) {
// var pageIndex = event.args.item + 1;
// loadPage('pages/ajax' + pageIndex + '.htm', pageIndex);
// });
});
</script>
我的HTML
答
所以首先检查标签控件正确的语法:
HTML:
....
<div id='jqxTabs'>
<ul>
<li></li>
</ul>
<div></div>
</div>
Javasc RIPT:
// Create jqxTabs.
$('#jqxTabs').jqxTabs({ width: 580, height: 200, showCloseButtons: true });
$('#jqxTabs').jqxTabs("removeFirst"); //here removes the empty tab
//here the function must return the content, and the ajax must be async false for this purpose
var loadPage = function (url) {
var result = null;
$.ajax({
url: url,
type: 'get',
dataType: 'html',
async: false,
success: function(data) {
result = data;
}
});
return result;
}
$('div.s span').click(function() {
var getvalue = $(this).attr('rel');
$('#jqxTabs').jqxTabs('addFirst', 'Sample title', loadPage(getvalue));
$('#jqxTabs').jqxTabs('ensureVisible', -1);
});
为了更好地理解检查:http://jsfiddle.net/charlesrv/h4573ykv/1/
编辑:对于新的条件下,使用自定义属性,以便检查会更容易:
$('div.s span').click(function() {
var getvalue = $(this).attr('rel');
var opened = $(this).attr('opened');
if (!opened) {
$(this).attr('opened', true);
$('#jqxTabs').jqxTabs('addFirst', 'Sample title', loadPage(getvalue));
$('#jqxTabs').jqxTabs('ensureVisible', -1);
}
});
未捕获的错误:无效的选择 - #jqxTabs!请检查使用的ID或CSS类名称是否正确。使用您的代码 –
请添加小提琴以便更好地理解,因为我已经尝试过并且没有问题 –
按预期工作1件事。我们能否以任何方式让用户无法从链接打开两次相同的选项卡?所以我们打开gen.php - 我们将标题设置为简单标题Gen。现在我们检查它是否已经打开,如果没有添加,我们会生成一个警报 –