我有一个表与2链接下拉菜单,我必须克隆上选择服务下拉列表。根据第一个下拉菜单的选择弹出第二个下拉菜单 (此部分有效)。我成功地克隆了它们。但是,每个克隆必须保留Area下拉列表的选定值,Services下拉列表必须保留结果,但未选中选项。
<table class="table table-sm table-striped mb-0">
<thead>
<tr class="bg-th">
<th >
Country
</th>
<th scope="col">
Towns
</th>
</tr>
</thead>
<tbody>
<tr>
<td >
<select class="form-select" onChange="center_area_on_change(this);">
<option value=""></option>
</select>
</td>
<td style="width:280px;display:block">
<select style='width:100%' onChange="getTarifDataSeguroPrivado(this);">
</select>
</td>
</tr>
</tbody>
</table>
center_area_on_change功能在选择时弹出 Services 下拉菜单。
getTarifDataSeguroPrivado函数调用克隆行的函数 function addRow。
function getTarifDataSeguroPrivado(dropDown) {
addRow();
}
x1c 0d1x addRow()函数。*
function addRow() {
var tableBody = $('#table-tarifario').find("tbody");
var trLast = tableBody.find("tr:last");
var trNew = trLast.clone();
trNew.find('select').val(function(index, value) {
return trLast.find('select').eq(index).val();
});
trLast.after(trNew);
}
1.如何在克隆新行时保留区域下拉列表的选定值,并保留服务下拉列表的结果(未选定数据)?
2-我尝试使用select 2,但它不能应用于所有下拉列表,尽管我像这样破坏它们:$(“select”).select2(“destroy”);
1条答案
按热度按时间piztneat1#
我不确定我是否完全理解你的要求。此外,我发现很难重现您的问题,因为您提供的代码似乎不完整-
<select>
菜单没有选项,表选择器'#table-tarifario'
不存在。但是,我提供了一些代码,至少应该让你接近你正在寻找的东西。我正在获取最后一行中所选选项的索引,并使用它在新行中设置所选选项。
或者,如果您的选项上有
value
属性,您可以通过值来执行此操作:更新:使用Select2时,必须确保在克隆之前删除Select 2-
$('select').select2('destroy')
-。将克隆的行插入DOM后,可以重新应用Select 2-$('select').select2()
。我已经更新了代码示例以使用Select 2。