Javascript 当一个面板被禁用时,如何在jquery ui accordion中导航
我有一个jqueryui手风琴。在每个面板中都有“下一个”或“上一个”按钮,用于在手风琴面板中导航。这是有效的。在一个面板上,我有一个selecthtml元素。在这个元素中,我可以选择一个选项。如果选项1:不要禁用我的第二个手风琴部分。如果选项2:禁用第二部分。 这也在起作用。 问题是,当我选择选项2且secend部分禁用时,我仍然可以通过按钮访问它。如何禁用它并转到第三部分 我的朋友:Javascript 当一个面板被禁用时,如何在jquery ui accordion中导航,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,我有一个jqueryui手风琴。在每个面板中都有“下一个”或“上一个”按钮,用于在手风琴面板中导航。这是有效的。在一个面板上,我有一个selecthtml元素。在这个元素中,我可以选择一个选项。如果选项1:不要禁用我的第二个手风琴部分。如果选项2:禁用第二部分。 这也在起作用。 问题是,当我选择选项2且secend部分禁用时,我仍然可以通过按钮访问它。如何禁用它并转到第三部分 我的朋友: 您可以在选择选项2时禁用下一步按钮 你可以试试这个 编辑 $(function() { $("#accor
您可以在选择选项2时禁用下一步按钮 你可以试试这个 编辑
$(function() {
$("#accordion").accordion();
$('#accordion button[name=tab-control]').on('click',function (e) {
e.preventDefault();
if($(this).attr('skip') != undefined) {
var control = ($(this).is('.next') ? 2 : -2);
} else {
var control = ($(this).is('.next') ? 1 : -1);
}
$('#accordion').accordion('option', 'active',
($('#accordion').accordion('option', 'active') + control)
);
});
$('#selectSection').on('change', function() {
if($(this).val() === 's2') {
$('.next').attr("skip","true");
$('.previous').attr("skip","true");
$('#ui-id-3').addClass('ui-state-disabled');
}
else {
$('.next').removeAttr("skip");
$('.previous').removeAttr("skip");
$('#ui-id-3').removeClass('ui-state-disabled');
}
});
});
这是解决方案,请检查。您是否尝试禁用按钮,如果选择了
选项2
,我想保留按钮功能。只需跳过一个手风琴禁用面板,从第一部分移动到第三部分。@GregOstry您现在可以检查,我只是更新我的答案
$(function() {
$("#accordion").accordion();
$('#accordion button[name=tab-control]').on('click',function (e) {
e.preventDefault();
if($(this).attr('skip') != undefined) {
var control = ($(this).is('.next') ? 2 : -2);
} else {
var control = ($(this).is('.next') ? 1 : -1);
}
$('#accordion').accordion('option', 'active',
($('#accordion').accordion('option', 'active') + control)
);
});
$('#selectSection').on('change', function() {
if($(this).val() === 's2') {
$('.next').attr("skip","true");
$('.previous').attr("skip","true");
$('#ui-id-3').addClass('ui-state-disabled');
}
else {
$('.next').removeAttr("skip");
$('.previous').removeAttr("skip");
$('#ui-id-3').removeClass('ui-state-disabled');
}
});
});