单击按钮时生成实体选择

时间:2017-05-30 18:01:36

标签: javascript jquery 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

在单击按钮上初始化选择表单的正确方法是什么?

1 个答案:

答案 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();
  });