2014-03-24 57 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'事件。相反,我建議事件代表團。答案已經更新以包含它。這些按鈕應該都可以工作。 –