2014-03-24 28 views
1

我克隆了一块HTML,然后将它附加到表单中。单选按钮不.clone后工作。统一收音机在克隆后不工作

例子:http://jsfiddle.net/JNCFP/169/

HTML:

<form> 
    <div class="formElement"> 
     <input type="radio" name="radio" /> 
     <input type="text" name="text[]" /> 
     <button class="button" type="button">Clone</button> 
    </div> 
</form> 

的JavaScript:

$(function() { 
    // Uniform every form element 
    $('input, select').uniform(); 

    // clone Div 
    $('form .button').click(function() { 
     var el = $(this).parents('.formElement'); 
     $(el).clone(true).insertAfter($(el)); 
    }); 
}); 
+2

定义“不起作用”。什么是不是这样做,你想让它做什么? –

+0

我不能选择克隆的单选按钮。如果我禁用制服一切都很好。 – nburgic

回答

2

你需要调用.uniform()你复制它后再次,因此它可以初始化对新元素的插件:

// Uniform every form element 
$(function() { 
    // Show browser information 
    $('input, select').uniform(); 

    $('form').on('click', '.button', function() { 
     var el = $(this).parents('.formElement'); 
     $(el).clone().insertAfter($(el)); 
     $('input, select').uniform(); 
    }); 

}); 

Fiddle

+0

是的,这是行得通的,但是如果在不将'withDataAndEvents'设置为true的情况下克隆,克隆'

+0

您还需要重新绑定'click'事件。相反,我建议事件代表团。答案已经更新以包含它。这些按钮应该都可以工作。 –