【问题标题】:Validation Forms that were loaded via Ajax into jquery-ui tabs通过 Ajax 加载到 jquery-ui 选项卡中的验证表单
【发布时间】:2012-03-09 00:00:47
【问题描述】:

我正在使用 jquery-ui 选项卡示例来添加额外的选项卡。我更改了该代码以便能够添加通过 Ajax 加载表单的选项卡。我能够创建它只是改变这些:

var $tabs = $( "#tabs").tabs({
    cache: true,
    tabTemplate: "<li><a href='formularioAgricola.php' id='#{label}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>"
    //ajaxOptions: a        
});

所以我更改了 tabTemplate 以始终加载相同的表单。

我的问题是我不确定如何检索,要么告诉该表单中的每个标签都使用 jquery-ui 的东西,如按钮、日期选择器等。

在常规形式中,我会执行以下操作:

$("#btnRevisar").button()

但是当我们谈论通过 Ajax 加载表单时,情况就不同了。

另外,如果它们都以相同的名称命名,我该如何尝试将一种形式与另一种形式区分开来,有可能吗?

谢谢大家

卡洛斯。

【问题讨论】:

    标签: forms jquery-ui jquery jquery-ui-tabs


    【解决方案1】:

    在选项卡文档页面中,标题为“事件”的选项卡有一个“加载”事件。 “ui”参数使您可以访问包含当前加载的面板的对象。如果您在表单上使用相同的 ID,请注意 ID 在页面中必须是唯一的。

    var $tabs = $( "#tabs").tabs({
        cache: true,
        tabTemplate: "<li><a href='formularioAgricola.php' id='#{label}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
    
        /* add new option for load event*/
    
        load: function( event, ui){
            var $currTabContentPanel=$(ui.panel);
            /* only look in currently loaded content for formClass*/
            $currTabContentPanel.find('.formClass').doSomething()
    
        }
    
    });
    

    【讨论】:

    • 谢谢,是的,我知道拥有相同的 ID 是错误的,但是如果我当前通过 Ajax 加载相同的表单,我不确定如何更改它,当我打电话时有什么办法吗表单,向他的 ID 添加一些东西,或者在其他情况下调用表单以接收变量作为 ID?
    • 为什么 ID 如此重要?将其更改为类,您可以随时从标签 ID 中查找它
    猜你喜欢
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多