将 href 值复制到文本框 onclick
Copy the a href value to a textbox onclick
我正在尝试将 link onClick 的值(显示的名称)复制到文本框。可能吗?
以下是我草率的尝试使其工作 -
<div class="service_list">
<ul style="list-style-type:square; display:none;" id="ullist">
<li><a href="#" class="service1">Service 1</a>
</li>
<li><a href="#" class="service2">Service 2</a>
</li>
</ul>
</div>
<input type="text" id="textbox" />
<br />
<table>
<tr>
<td>
<div class="button"> <a href="#" download="servicename.txt" class="button" id="button">Download</a>
</div>
</td>
<td>
<div class="list"> <a href="#" class="list" id="list">List of Services</a>
</div>
</td>
</tr>
</table>
这是 JS -
var link_selected = document.querySelector('.service_list'); //edited
var input_field = document.getElementById("input");
link_selected.onclick = function (e) {
var selected = document.querySelector('.service_list').value; //edited
input_field.value = selected;
};
这是相同的 JSFiddle:
https://jsfiddle.net/aishwarya26/rebpb5h2/
您可以为 #ullist
元素中的每个 link 添加点击处理程序,然后设置文本框的值
var text = document.getElementById('textbox');
var anchor = document.querySelector('#button');
var links = document.querySelectorAll('#ullist a');
for(var i = 0;i< links.length;i++){
links[i].onclick = function(){
text.value = this.textContent || this.innerText
}
}
演示:Fiddle
使用jQuery
jQuery(function($){
var $text = $('#textbox');
$('#ullist a').click(function () {
$text.val($(this).text());
});
$('#button').click(function (e) {
var textbox_text = $text.val();
var textbox_file = new Blob([textbox_text], {
"type": "application/bat"
});
this.href = URL.createObjectURL(textbox_file);
this.download = "servicename.txt";
});
$('#list').click(function (e) {
$('#ullist').toggle();
});
})
演示:Fiddle
像这样在页面加载时使用点击触发器,如果您愿意尝试一下 jquery:
$('a').click(function(){
$('#textbox').val($(this).html());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="service_list">
<ul style="list-style-type:square; display:none;" id="ullist">
<li><a href="#" class="service1">Service 1</a>
</li>
<li><a href="#" class="service2">Service 2</a>
</li>
</ul>
</div>
<input type="text" id="textbox" />
<br />
<table>
<tr>
<td>
<div class="button"> <a href="#" download="servicename.txt" class="button" id="button">Download</a>
</div>
</td>
<td>
<div class="list"> <a href="#" class="list" id="list">List of Services</a>
</div>
</td>
</tr>
</table>
由于 JQuery 被标记,这可以简单地用 JQuery!
完成
$(document).on('click', 'a', function(e) {
e.preventDefault();
//e = $(this).attr('href');//this gets the href
e = $(this).text();//This gets the text
$('input').val(e);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input readonly>
<a href="http://google.com">Google<a>
<a href="http://booble.com">Booble<a>
<a href="http://doodle.com">Doodle<a>
<a href="http://coocle.com">Coocle<a>
<a href="http://roorle.com">Roorle<a>
你也可以使用 live jquery click for this
$(document).on('click','.service1,.service2',function(){
$("#textbox").val($(this).html());
});
我正在尝试将 link onClick 的值(显示的名称)复制到文本框。可能吗?
以下是我草率的尝试使其工作 -
<div class="service_list">
<ul style="list-style-type:square; display:none;" id="ullist">
<li><a href="#" class="service1">Service 1</a>
</li>
<li><a href="#" class="service2">Service 2</a>
</li>
</ul>
</div>
<input type="text" id="textbox" />
<br />
<table>
<tr>
<td>
<div class="button"> <a href="#" download="servicename.txt" class="button" id="button">Download</a>
</div>
</td>
<td>
<div class="list"> <a href="#" class="list" id="list">List of Services</a>
</div>
</td>
</tr>
</table>
这是 JS -
var link_selected = document.querySelector('.service_list'); //edited
var input_field = document.getElementById("input");
link_selected.onclick = function (e) {
var selected = document.querySelector('.service_list').value; //edited
input_field.value = selected;
};
这是相同的 JSFiddle: https://jsfiddle.net/aishwarya26/rebpb5h2/
您可以为 #ullist
元素中的每个 link 添加点击处理程序,然后设置文本框的值
var text = document.getElementById('textbox');
var anchor = document.querySelector('#button');
var links = document.querySelectorAll('#ullist a');
for(var i = 0;i< links.length;i++){
links[i].onclick = function(){
text.value = this.textContent || this.innerText
}
}
演示:Fiddle
使用jQuery
jQuery(function($){
var $text = $('#textbox');
$('#ullist a').click(function () {
$text.val($(this).text());
});
$('#button').click(function (e) {
var textbox_text = $text.val();
var textbox_file = new Blob([textbox_text], {
"type": "application/bat"
});
this.href = URL.createObjectURL(textbox_file);
this.download = "servicename.txt";
});
$('#list').click(function (e) {
$('#ullist').toggle();
});
})
演示:Fiddle
像这样在页面加载时使用点击触发器,如果您愿意尝试一下 jquery:
$('a').click(function(){
$('#textbox').val($(this).html());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="service_list">
<ul style="list-style-type:square; display:none;" id="ullist">
<li><a href="#" class="service1">Service 1</a>
</li>
<li><a href="#" class="service2">Service 2</a>
</li>
</ul>
</div>
<input type="text" id="textbox" />
<br />
<table>
<tr>
<td>
<div class="button"> <a href="#" download="servicename.txt" class="button" id="button">Download</a>
</div>
</td>
<td>
<div class="list"> <a href="#" class="list" id="list">List of Services</a>
</div>
</td>
</tr>
</table>
由于 JQuery 被标记,这可以简单地用 JQuery!
完成$(document).on('click', 'a', function(e) {
e.preventDefault();
//e = $(this).attr('href');//this gets the href
e = $(this).text();//This gets the text
$('input').val(e);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input readonly>
<a href="http://google.com">Google<a>
<a href="http://booble.com">Booble<a>
<a href="http://doodle.com">Doodle<a>
<a href="http://coocle.com">Coocle<a>
<a href="http://roorle.com">Roorle<a>
你也可以使用 live jquery click for this
$(document).on('click','.service1,.service2',function(){
$("#textbox").val($(this).html());
});