1 回答
TA贡献1744条经验 获得超4个赞
.select2()主要问题是您在克隆该行后没有调用。如果你仔细观察,你的第二次调用.select2()发生在你的处理程序之外.click(),即使你的空格让它看起来像是在里面。
另一个问题是最好只.select2()调用克隆的行,而不是全局调用。在我的测试中,如果我像您一样保持函数调用,那么在第一行结束后克隆的任何行都会显示 select 下拉列表和 select2 下拉列表彼此相邻。这段代码应该可以解决问题:
$(document).ready(function () {
var sample_row = 1;
$('#addrow').click(function(e) {
e.preventDefault();
var new_row = $('#sample_row_template')
.clone() // CLONE THE TEMPLATE
.attr('id', 'row' + (sample_row++)) // MAKE THE TABLE ROW ID UNIQUE
.appendTo($('#sample_table tbody')) // APPEND TO THE TABLE BODY
.show() // SHOW IT
;
// now, initialize select2 *only* on the new row that was created
new_row.find('.js-example-basic-multiple').select2();
});
});
添加回答
举报