【发布时间】:2020-10-20 15:44:29
【问题描述】:
我有一个使用 Select2 中的多选的表,工作正常。但是,我有一个按钮可以通过克隆前一行并向行添加新 id 来添加行,我对多选使用相同的标记。那个是残疾人。我尝试在添加行后重新初始化但不起作用:(下面是html和js。
HTML:
<select class="js-example-basic-multiple" name="selectedValues" multiple="multiple" multiple>
<?=$displaySelectData?>
</select>
JS:
$(document).ready(function () {
$('.js-example-basic-multiple').select2();
var sample_row = 1;
$('#addrow').click(function(e) {
e.preventDefault();
var sample_row_template = $('#sample_row_template')
.clone() // CLONE THE TEMPLATE
.attr('id', 'row' + (sample_row++)) // MAKE THE ID UNIQUE
.appendTo($('#sample_table tbody')) // APPEND TO THE TABLE
.show(); // SHOW IT
});
$('.js-example-basic-multiple').select2();
});
我正在克隆的行
<tr id="sample_row_template" style="display: none;">
<td width="200px">
<input class="form-control" name="sample-reference" type="text" value="">
</td>
<td width="150px">
<input class="form-control" name="sample-date" type="date" value="<?=$today?>" id="example-date-input">
</td>
<td width="150px">
<input class="form-control" name="sample-time" type="time" value="<?=$now?>" id="example-time-input">
</td>
<td >
<select class="js-example-basic-multiple" name="selectedValues" multiple="multiple" multiple>
<?=$displaySelectData?>
</select>
</td>
<td width="200px">
<select class="fart form-control">
<option>Select</option>
<option value="1">1 Day</option>
<option value="2">2 Day</option>
<option value="3">3 Day</option>
<option value="4">4 Day</option>
<option value="5">5 Day</option>
<option value="6">6 Day</option>
<option value="7">7 Day</option>
<option value="8">8 Day</option>
<option value="9">9 Day</option>
<option value="10" selected>10 Day</option>
</select>
</td>
</div>
</tr>
【问题讨论】:
-
这需要更多细节/HTML,您至少应该包含
#sample_row_template和您的#sample_table的HTML 至少一行。 -
我添加了我正在克隆的行,如果我多次关闭它,多选不起作用
标签: javascript forms jquery-select2