我想在用户点击按钮时创建一些选择表单。单击按钮时,我在初始化选择表单时遇到了一些问题。
到目前为止,我已经尝试过:
$(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
。
在单击按钮上初始化选择表单的正确方法是什么?
答案 0 :(得分: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();
});