Javascript jqueryappend函数只是附加html,而不是与之相关的类

Javascript jqueryappend函数只是附加html,而不是与之相关的类,javascript,php,html,jquery,laravel,Javascript,Php,Html,Jquery,Laravel,我使用的是php laravel,因此它使用刀片模板来渲染视图。以下是附加html脚本的javascript代码:- $(function () { var count = 0; $("#min_bonus_value").click(function () { count++; var min_bonus_html = '<div class="min_bonus_row"

我使用的是php laravel,因此它使用刀片模板来渲染视图。以下是附加html脚本的javascript代码:-

$(function () {
   var count = 0;
   $("#min_bonus_value").click(function () {
      count++;
      var min_bonus_html =
                    '<div class="min_bonus_row">' +
                        '<hr>' +
                        '<div class="row">' +
                            '<div class="col-md-2">' +
                                '<div class="form-group">' +
                                    '<label for="bonus_day[' + count + ']">@lang('admin.message759')<span class="text-danger">*</span></label>' +
                                    '<select class="select2 form-control" id="bonus_day[' + count + ']" name="bonus_day[' + count + '][]" data-placeholder="@lang('admin.message759')" multiple>' +
                                        '<option value="1">Monday</option>' +
                                        '<option value="2">Tuesday</option>' +
                                        '<option value="3">Wednesday</option>' +
                                        '<option value="4">Thursday</option>' +
                                        '<option value="5">Friday</option>' +
                                        '<option value="6">Saturday</option>' +
                                        '<option value="7">Sunday</option>' +
                                    '</select>' +
                                '</div>' +
                            '</div>' +
                        '</div>' +
                    '</div>';
以下是需要附加上述html的刀片模板代码,我想附加'select2'类,该类的样式为选择多天,但徒劳:-

<div id="minimum_bonus">
</div>

我可能不在这里,但当你说不是类时,你实际上是指Javascript/jQuery功能性吗

如果是这样的话,我将尝试解释发生了什么:当您初始化jQuery插件(如select2)时,它会在您初始化它时作用于DOM中存在的内容。因此,如果您以后创建新项目,这些项目将不具有select2功能,除非您为所述新项目再次初始化它

我建议您创建一个函数来初始化select2,并在向DOM添加新元素时调用它。您需要以某种方式挑出已经初始化的元素。您可以对一个类执行此操作,在本例中,该类为“select2 enabled”。像这样:

function initSelect2() {
  $(".select2").each(function(){
    if (!$(this).hasClass('select2-enabled')) {
      $(this).addClass('select2-enabled');
      $(this).select2({
        // all your select2 options
      });
    }
  });
}
然后,在附加新html后,可以调用函数初始化新元素上的select2:

$(parentElement).append(newHTML);
initSelect2();

我不明白这个问题。这代表什么?要在其中追加代码的父元素?除此之外,我希望data placeholder=@lang'admin.message759'会破坏JS语法,因为您在单引号中使用单引号。您的浏览器控制台是否报告任何错误?如何附加?我们能看看密码吗?