0
ユーザーがボタンをクリックしたときにいくつかの選択フォームを作成しようとしています。ボタンをクリックしたときに選択したフォームを初期化するときに問題が発生しています。Materializeを生成するボタンをクリックして選択する
$(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
です。
ボタンクリックで選択フォームを初期化する適切な方法は何ですか?