我要复制的注释的代码为:<strong title="Note VF" class="note-a-copier" style="cursor: pointer;" data-clipboard-text="7.6">7.6</strong>
我将注释复制为:data-clipboard-text
通常过去:
HTML:
<select>
<option id="note-a-coller"></option>
</select>
JavaScript:
<script>
const btnsnote = document.getElementsByClassName('note-a-copier');
for(btn of btnsnote) {
btn.addEventListener(\'click\', elt => {
const input = document.getElementById('note-a-coller');
select.value = elt.target.dataset.clipboardText;
return false;
}, false);
}
</script>
但是当我单击便笺时,它应直接粘贴在中,但不起作用。
工作代码示例:https://jsfiddle.net/rjds289g/
const btnsadp = document.getElementsByClassName('adp-a-copier');
for(btn of btnsadp)
{
btn.addEventListener('click', elt => {
const input = document.getElementById('adp-a-coller');
input.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 : <input type="text" size="40" name="annee" value="" id="adp-a-coller" required />
在 JSFiddle 上:https://jsfiddle.net/rjds289g/3/
我想要这样,但是有了 ,我不知道该怎么做,所以如果有人可以帮助我:)
答案 0 :(得分:2)
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>
说明:我在jquery片段中使用了appended
类,仅将文本附加到选择框一次,即使您一直单击它也仅附加了一个
答案 1 :(得分:0)
了解如何使用JS填充选择。逻辑很简单。 您只需要在数组中添加div内容,然后用数组内容重新填充组合