jquery - 克隆后无法增加 id 选择框(codeigniter)
问题描述
我想让 id="campaign" 像campaign1、campaign2、campaign3 等一样增加,但不幸的是我在多次单击克隆按钮后总是得到campaign1。有没有人如何使Id 完美增加?我知道我还是初学者
任何帮助将不胜感激。谢谢
查看html
<select id="campaign" class="form-control" >
<option value="">- Choose Campaign -</option>
<option values="1">1</option>
<option values="2">2</option>
</select>
<img src="<?php echo base_url();?>assets/add_icon.png" alt="add_icon" id="addCampaign" class="add-icon">
jQuery
$(function() {
$('#addCampaign').click(function()
{
$("#campaign").clone().attr(`id`,`campaign` + $('#campaign').index()).insertAfter('#campaign');
})
解决方案
检查下面的片段多次使用相同的 id 不是一个好方法。您可以为所有选择指定相同的类,因此在选择中添加了“活动”类。
然后使用克隆最后一个选择框并将选择框的数量计算到选择框的主ID
var count = $(".campaign").length;
然后使用 :last 选择器在最后一个选择框之后附加新的选择框。
$(function() {
$('#addCampaign').click(function()
{
var count = $(".campaign").length;
$(".campaign:last").clone().attr(`id`,`campaign` + count).insertAfter('.campaign:last');
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="campaign" class="form-control campaign" >
<option value="">- Choose Campaign -</option>
<option values="1">1</option>
<option values="2">2</option>
</select>
<img src="<?php echo base_url();?>assets/add_icon.png" alt="add_icon" id="addCampaign" class="add-icon">
推荐阅读
- python - 如何用正确的版本替换 pandas DataFrame 中的短语列表(不是单词或字符串)
- asp.net - asp.net Blazor 中的子控件不刷新。StateHasChanged() 不工作
- httpresponse - 在服务器上响应内容类型 text/html 但在本地响应 application/json
- java - 在amazon sqs、alpine sqs spring boot中批量消费消息
- laravel - 使用 apache2 部署 lumen
- spring-boot - Spring reactive WebClient GET json response with Content-Type "text/plain;charset=UTF-8"
- pandas - Numpy 在哪里执行多个操作
- html - 如何以“折叠”类(引导程序)居中 div?
- mysql - MySQL获取前一天的数据
- excel - 是否有更优雅的公式/方法来编写宏行以重新格式化 VBA/excel 中的地址?