javascript - 复制文本和过去
问题描述
解决方案
- 选择值将随其中的任何值而变化..在您的情况下,该值不是选择中的选项,因此您需要先附加它
const btnsadp = document.getElementsByClassName('adp-a-copier');
for(btn of btnsadp)
{
btn.addEventListener('click', elt => {
var The_Select = document.getElementById('adp-a-coller'),
The_Text = document.createTextNode(elt.target.dataset.clipboardText),
The_option = document.createElement("OPTION");
The_option.appendChild(The_Text);
The_Select.appendChild(The_option);
The_Select.value = elt.target.dataset.clipboardText;
return false;
}, false);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Copy : <div class="adp-a-copier" data-clipboard-text="2001" style="cursor: pointer;">2001</div>
Past : <select id="adp-a-coller"><option>1</option></select>
这对我来说是 jquery 版本,使用起来更容易
$(document).on('click' , '.adp-a-copier' , function(){
var $this = $(this),
text = $this.data('clipboard-text');
if(!$this.hasClass('appended')){
$this.addClass('appended');
$('#adp-a-coller').append('<option value="'+text+'">'+text+'</option>').val(text);
}else{
$('#adp-a-coller').val(text);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Copy : <div class="adp-a-copier" data-clipboard-text="2001" style="cursor: pointer;">2001</div>
Copy : <div class="adp-a-copier" data-clipboard-text="2003" style="cursor: pointer;">2003</div>
Copy : <div class="adp-a-copier" data-clipboard-text="2005" style="cursor: pointer;">2005</div>
Past : <select id="adp-a-coller"></select>
说明:我使用appended
jquery 片段中的类将文本仅附加一次到选择中,即使您继续单击它也将仅保留一次附加
推荐阅读
- arrays - 为什么有时我能侥幸不使用 splat 运算符
- laravel - Laravel:POST 上缺少参数错误
- python - 如何检测 discord.py 中已清除的消息?
- r - R:ifelse 语句为另一列赋值
- c++ - 用结构数据减去指针
- git - 如何将我的 azure devops 存储库从使用源代码控制编辑器迁移到使用 git 样式控件?
- javascript - 如何将 HTML Web 组件与 HTML 文件结合起来?innerHTML = foo("myfile.html")
- c# - 使用 Xamarin 表单调用 WebService(使用 Vs 2019)
- flutter - 有没有办法在 Navigation .pop 完成时取消所有现有的承诺视图?
- python - 如何在 Python 中导出 Pulumi 堆栈输出?
问题描述
- 选择值将随其中的任何值而变化..在您的情况下,该值不是选择中的选项,因此您需要先附加它
const btnsadp = document.getElementsByClassName('adp-a-copier');
for(btn of btnsadp)
{
btn.addEventListener('click', elt => {
var The_Select = document.getElementById('adp-a-coller'),
The_Text = document.createTextNode(elt.target.dataset.clipboardText),
The_option = document.createElement("OPTION");
The_option.appendChild(The_Text);
The_Select.appendChild(The_option);
The_Select.value = elt.target.dataset.clipboardText;
return false;
}, false);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Copy : <div class="adp-a-copier" data-clipboard-text="2001" style="cursor: pointer;">2001</div>
Past : <select id="adp-a-coller"><option>1</option></select>
这对我来说是 jquery 版本,使用起来更容易
$(document).on('click' , '.adp-a-copier' , function(){
var $this = $(this),
text = $this.data('clipboard-text');
if(!$this.hasClass('appended')){
$this.addClass('appended');
$('#adp-a-coller').append('<option value="'+text+'">'+text+'</option>').val(text);
}else{
$('#adp-a-coller').val(text);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Copy : <div class="adp-a-copier" data-clipboard-text="2001" style="cursor: pointer;">2001</div>
Copy : <div class="adp-a-copier" data-clipboard-text="2003" style="cursor: pointer;">2003</div>
Copy : <div class="adp-a-copier" data-clipboard-text="2005" style="cursor: pointer;">2005</div>
Past : <select id="adp-a-coller"></select>
说明:我使用appended
jquery 片段中的类将文本仅附加一次到选择中,即使您继续单击它也将仅保留一次附加