【发布时间】:2020-04-06 15:56:55
【问题描述】:
我正在尝试以动态形式使用Select2(使用jQuery 克隆添加新行),但显然克隆的行与Select2 的功能不相关。收到错误
创建了第二个选择菜单但它产生了错误:
Uncaught TypeError: $(...).select2 is not a function
我正在使用这个 HTML 部分:
<tbody id="treatmentlist">
<tr class="itemData">
<td>
{{Form::select('treatments[]',$treatments, null, ['class' => 'form-control treatment', 'placeholder' => 'Select treatment' ])}}
</td>
<td><i class="fas fa-plus-circle" id='addRow'><i class="fas fa-minus-circle" id="delRow"></i></td>
</tr>
</tbody>
这里是脚本部分:
@section('scripts')
<script>
$(".treatment").select2();
$("#addRow").on('click', function (e) {
e.preventDefault();
var $tr = $(this).closest('.itemData');
var $clone = $tr.clone();
$tr.after($clone);
$(".treatment").select2();
});
</script>
@endsection
已经尝试添加select2('destroy'),但没有成功。
任何建议如何使新克隆的行保留 Select2 功能?
【问题讨论】:
-
谢谢,我之前看过那个链接,但现在才明白这个概念。显然这个问题与两件事有关:1)。 double Jquery loading & 2.) 是 select2 destroy 方法的工作方式。
标签: php jquery jquery-select2