通过Ajax加载到jquery-ui选项卡中的验证表单

时间:2012-03-09 00:00:47

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

我正在使用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以便始终加载相同的Form。

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

在常规表格中,我会做类似的事情:

$("#btnRevisar").button()

但是当我们通过Ajax谈论表单加载时,它是不同的。

而且,如何将一个表单与另一个表单区分开来,如果它们都以相同名称命名,是否可能?

谢谢你们

卡洛斯。

1 个答案:

答案 0 :(得分:0)

在标签文档页面中,标题为&#34; Events&#34;有一个&#34;负载&#34;事件。 &#34; ui&#34; argument允许您访问包含当前加载面板的对象。如果您在表单上使用相同的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()

    }

});