2017-11-04 125 views
0

我使用的自舉選在幾個選擇的形式,但我會克隆,或創建新的ID和同一類和利用新選擇:Selectpicker上動態創建的選擇

$(".selectpicker").selectpicker("render"); or 
$(".selectpicker").selectpicker("refresh"); 

和新的選擇沒有按沒有更新,我也嘗試克隆正常選擇和創建引導程序選擇更改ID和數據ID和$(".selectpicker").selectpicker("refresh");,但這是行不通的。

這是怎麼做到的。

UPDATE

這是基本的HTML,基本上我使用Django表單集,在這裏我有一個表的形式,每一行是帶有輸入和選擇一個新的表單實例。

<tr class="dynamic-form"> 
<td class="" style="text-align: center"> 
    <input type="number" name="caracteristicas-0-ORDER" value="1" id="id_caracteristicas-0-ORDER"> 
</td> 
<td class="" style="text-align: center"> 
    <select name="caracteristicas-0-caract" data-live-search="true" class="form-control selectpicker" id="id_caracteristicas-0-caract" style="display: none;"> 
    <option value="1" selected="">Nombre</option> 
    <option value="2">Ref</option> 
    <option value="3">Modelo</option> 
</select> 
</td> 

的JavaScript基本上是這樣的:

---- onClickButton ---- 
row = tr.clone(true); <----- this was the problem 
/* clear values, change id's, etc. */ 
row.insertBefore(lastRow).show(); 
row.find('.bootstrap-select').remove(); 
$('.selectpicker').selectpicker("render"); 
+0

你可以把相關的JavaScript和HTML到你的問題? –

+1

在添加新的原始html選擇框以初始化這些新元素的插件後,您可能需要調用'$(「。selectpicker」)。selectpicker()'。 – DelightedD0D

+0

不,它不起作用。選擇器工作並找到新的html選擇,但它們不會通過bootstrap-select進行更新 –

回答

0

閱讀所有庫代碼之後,這個問題是在這條線:

row = tr.clone(true); 

當您使用clone(true)你元素和所有事件處理程序等的副本。您需要獲得ele的乾淨副本只有結構結構。

因此,解決辦法是:

row = tr.clone();