jQuery插件和动态生成的表单

jQuery插件和动态生成的表单,jquery,jquery-plugins,Jquery,Jquery Plugins,我在我的新项目中使用了两个jQuery插件: $("input[type=text].color").miniColors(); $("input[type=file], input[type=radio], input[type=checkbox], select").uniform(); 在这个项目中,我有多个使用jQuery动态构建的上传表单-我有一个隐藏的容器,其中包含多个表单元素。根据用户的选择,将使用html()函数将所需元素添加到表单中 用户可以通过选项卡在多种表单类型之间切换(

我在我的新项目中使用了两个jQuery插件:

$("input[type=text].color").miniColors();
$("input[type=file], input[type=radio], input[type=checkbox], select").uniform();
在这个项目中,我有多个使用jQuery动态构建的上传表单-我有一个隐藏的容器
,其中包含多个表单元素。根据用户的选择,将使用
html()
函数将所需元素添加到表单中

用户可以通过选项卡在多种表单类型之间切换(Twitter引导)

我注意到插件在这些表单元素上不能正常工作

是否有可能使用
live()
函数将函数绑定到表单,或者有其他方法

**编辑** 正在使用以下功能生成表单:

function buildForm(target)
{
    var form = $("#" + target);

    switch(target){
        case 'image':
            form.html($("#wrapper-title").html() + $("#wrapper-src").html());
            break;
        case 'generate':
            form.html($("#wrapper-title").html() + $("#wrapper-src").html() + $("#wrapper-generate").html());
            break;
        case 'video':
            form.html($("#wrapper-title").html() + $("#wrapper-url").html());
            break;
        case 'text':
            form.html($("#wrapper-title").html() + $("#wrapper-body").html());
            break;
    }
}
当用户更改表单类型时,所有元素都放置在表单外部,并在
标记之间移动

什么不起作用?例如,在统一插件中,单选/选择按钮的状态没有改变(图形没有改变)


干杯

在switch/case语句之后,仅针对新添加的表单初始化
buildForm
方法中的插件

function buildForm(target)
{
    var form = $("#" + target);

    switch(target){
        case 'image':
            form.html($("#wrapper-title").html() + $("#wrapper-src").html());
            break;
        case 'generate':
            form.html($("#wrapper-title").html() + $("#wrapper-src").html() + $("#wrapper-generate").html());
            break;
        case 'video':
            form.html($("#wrapper-title").html() + $("#wrapper-url").html());
            break;
        case 'text':
            form.html($("#wrapper-title").html() + $("#wrapper-body").html());
            break;
    }
    $("input[type=text].color", form).miniColors();
    $("input[type=file], input[type=radio], input[type=checkbox], select", form).uniform();
}

需要更多的信息和一些代码,关于你期望发生的事情,而不是没有发生的事情。除非涉及到一个事件,否则事件委托是不起作用的。相反,在生成元素时初始化这些插件。@jeffery\u thew\u wind-更新了question@KevinB-我调用BuildForm()函数两次-在页面加载时(如果有一个表单有错误)和每次更改
类型之后。您建议如何解决我的问题?在switch/case语句之后,初始化buildForm方法内部的插件,只针对新添加的表单。主要问题是我调用了buildForm()函数两次。插件初始化两次(例如,统一无线电输入图形加载两次…)。有什么想法吗?它们不应该被初始化两次,buildForm完全清空表单,并在其中放入新内容。这个新内容没有被初始化,但是它可能有来自先前初始化插件的标记。如果是这样的话,那么您构建表单的方法就是有缺陷的。我还试图创建一个空div,但问题仍然存在。顺便说一句,你会推荐什么样的方法来构建这样的表单?因为你是从一个html字符串构建每个表单,所以将该字符串的一个副本存储在一个变量中,而不是从DOM中获取它