2017-05-30 45 views
0

我想在用戶單擊按鈕時創建一些選擇窗體。點擊按鈕時,我在初始化選擇表單時遇到了一些麻煩。生成Materialise選擇按鈕單擊

到目前爲止,我曾嘗試:

$(document).ready(function() { 

    $('select').material_select(); //This should initialize 
    let output = { 
    columnNumber: [] 
    }; 
    //let headers=[]; 
    let addColumnSource = $("#addColumnTemplate").html(); 
    let addColumnTemplate = Handlebars.compile(addColumnSource); 

    $("#newColumnsButton").click(function() { 
    $('select').material_select(); //Re-initialize after the button is clicked? 
    for (let i = 1; i <= $("#numberOfColumns").val(); i++) { 
     output.columnNumber.push(i); 

    } 
    $("#addColumnContainer").append(addColumnTemplate(output)); 

    }); 
$('select').material_select(); //Still not getting initialized 

}); 

和:

$("#newColumnsButton").click("contentChanged", function() { 

    for (let i = 1; i <= $("#numberOfColumns").val(); i++) { 
     output.columnNumber.push(i); 

    } 
    $("#addColumnContainer").append(addColumnTemplate(output)); 
    $('select').on('contentChanged', function() { 
     // re-initialize (update) 
     $(this).material_select(); 
    }); 
    }); 

但選擇形式,當用戶點擊該按鈕仍然沒有得到呈現。我知道模板沒有問題,因爲選擇表單被追加。然而,它們在瀏覽器上默認並且具有屬性display:none

什麼是初始化按鈕單擊選擇窗體的正確方法?

回答

1

從10分鐘前確定我的事。所有你需要做的就是在你追加你的dumbdumb之後進行初始化!

$("#newColumnsButton").click(function() { 
    for (let i = 1; i <= $("#numberOfColumns").val(); i++) { 
     output.columnNumber.push(i); 
    } 
    $("#addColumnContainer").append(addColumnTemplate(output)); 
    $('select').material_select(); 
    });