如何在jquery选项卡的当前活动选项卡上触发(’单击’)
我有一个标签屏幕,并希望在提交表单并且返回有效后触发所选标签上的单击。 这里是html的一部分:
我的成功命令是:
success: function(data, textStatus, XMLHttpRequest) { $('#tabUL').find('li.current a').trigger('click'); }
这似乎不起作用…任何帮助表示赞赏:)问候安德里亚
尝试使用a[href=""]
选择器:
$('#tabUL a[href="#tabProducts"]').trigger('click');
我整理了一个jsfiddle演示来显示它的运行情况,以及如何选择性地隐藏其他标签,因为我经常以编程方式强制标签要求在解锁其他标签之前在初始标签页上输入缺少的必填信息…
编辑这里是jsfiddle的内容:
HTML
This is the first tab (0)
This is the second tab (1)
This is the third tab (2)
This is the fourth tab (3)
Select the Tab and Lock the Others
jQuery的
$(document).ready(function () { $('#tabs').tabs(); $('#tabSelect').change(function () { //pass empty array to unlock any locked tabs $('#tabs').tabs({disabled: []}).find('a[href="#tab' + $(this).val() + '"]').trigger('click'); if ($('#tabHide').prop('checked')) { //hide will be an array like [0,2,3] var hide = Array(); $('#tabs li').not('.ui-tabs-active').each(function () { hide.push($(this).index()); }); $('#tabs').tabs({disabled: hide}); } }); });
如果您想以编程方式重新加载选项卡,那么我建议使用如下所示的Jquery Tab API实用程序:这使第一个选项卡处于活动状态,然后激活第二个选项卡,非常简单,并且还会引发直接单击时通常会引发的事件。
$( "#myTabs" ).tabs( "option", "active", 0 ); $( "#myTabss" ).tabs( "option", "active", 1 );
您还可以捕获下面的标签活动事件以执行任何操作
$( "#myTabs" ).on( "tabsactivate", function( event, ui ) { // your custom code on tab click });
而不是试图触发click事件本身(我认为不可能在此上下文中以编程方式调用用户事件),我建议你触发必须在click事件上调用的函数,你可能想要查看triggerHandler