【发布时间】:2013-12-17 18:37:46
【问题描述】:
我有一个问题。
我一直在使用Tabs(小部件 jqueryUi)。
似乎一切正常,但有时当我提交表单(在选项卡内)时,结果出现在窗口中,而不是在 tabdiv 中。
我不希望这样,客户端必须保留在网络系统中。
我已经尝试在表单中输入target="_self",但有时会继续这样做。
var $tabs = $("#main").tabs({
tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close notext inline'>Remove Tab</span></li>",
idPrefix: "tab_",
add:function(e, ui){
$tabs.tabs('select', '#' + ui.panel.id).show("blind");
$j( "#list_tabs .ui-icon-close:last" ).on( "click", function(e, elemento) {
var index = $( "li", $("#main").tabs() ).index( $( this ).parent() );
$("#main").tabs( "remove", index );
desativarItemSubmenu($('#' + $(this).parent()[0].id.replace('tab_', '')));
});
},
select: function(event, ui){
var id = $(ui.tab).parent()[0].id;
if(id)
ativarItemSubmenu($('#' + id.replace('tab_', '')));
},
cache:true,
ajaxOptions: {async: false,cache: false}
})
$(".anchor").live("click", function(){
if("<?php echo $this->session->userdata("cod_usuario") ?>" == ""){
window.location.reload;
}
var url = this.rel;
var tab_title = this.text;
var tab_id = "tab_"+this.id;
if(!$('#' + tab_id).length){
if($('#main').tabs('length') > 3)
$("#main").tabs("remove", 3);
$("#main").tabs("add", url, tab_title);
$("#list_tabs li:last").attr("id", tab_id);
$("#list_tabs li:last").addClass("active");
}
else{
$('#main').tabs('option', 'selected', $('#' + tab_id).index());
}
})
// Remove a tab clicando no "x" (remove tab by click on "x")
$( "#main span.ui-icon-close" ).live( "click", function() {
var index = $( "li", $("#main").tabs() ).index( $( this ).parent() );
$("#main").tabs( "remove", index );
});
【问题讨论】:
-
live在 1.7 中被弃用并在 jQuery 1.9 中被移除。停止使用它并开始使用on() -
epascarello,我在系统中使用的是 jquery-1.5.1,所以我认为这不是我的问题。
-
啊,2011 年发布的版本。我想您可能想要升级。 ;)
-
该代码中的表单提交在哪里?它是页面上的表格吗?表格是什么样子的?有错误吗?如何将表单加载回 div?
-
我在其他页面中有很多表格。这就是我使用动态标签的原因。
标签: javascript jquery forms jquery-ui jquery-ui-tabs