2014-01-25 29 views
0

使用链接填充链接内容的输入文本框的最简单方法是什么?使用链接将内容添加到输入框

我有这些链接 - 比较少这样的

<a href="javascript:;" title="Add Code to quick Quote Form">P3030-6</a> 
<a href="javascript:;" title="Add Code to quick Quote Form">P3030-6</a> 

该文本框中

<input type="text" name="code" value="" size="40" class="wpcf7-form-control wpcf7-text sidebarInput" id="code" aria-invalid="false"> 

当有人点击的链接我想P3030-6等被添加到文本框中。

我有一个很棒的小脚本,使用jQuery 1.7,但我的网站需要1.10.2 - 并添加1.7 scrip停止了网站的一些功能。

关于最佳过程的任何想法大受欢迎!

感谢

回答

0

嗯,你可以上的链接添加一个类

<a href="" class="forinput" title="Add Code to quick Quote Form">P3030-6</a> 

事遂所愿

$('.forinput').click(function(e) { 
    e.preventDefault(); 
    $('#code').val($(this).text()); 
}); 

看到jsFiddle

编辑

添加

$('.forinput').click(function(e) { 
    e.preventDefault(); 
    var $code = $('code'); 
    $code.val($code.val() + $(this).text()); 
}); 

看到jsFiddle

+0

是的 - 那一个适合我.......如何添加到内容而不是取代它? – user1088207

+0

@ user1088207看到编辑 –

0
href="" onclick="document.getElementById('code').value=this.innerHTML;return false;" 

,应该在每一个环节。或者你可以通过Javascript系统地做到这一点,但有人已经这样做,所以我会变得不同而且跛脚。

onclick="var code = document.getElementById('code');code.value=(code.value.indexOf(this.innerHTML) < 0) ? code.value + ', ' + this.innerHTML : code.value;return false;" 
+0

这似乎是我的网站的最佳选择,我设法得到ot附加额外的项目如下 - 是否有可能避免重复:P3030-6 user1088207

+0

是的这可以用我刚刚添加的代码到我的帖子。它会添加一个逗号,然后添加链接文本(如果它尚未存在),并且如果它在那里,则不会添加任何内容。 – Deryck

+0

@ user1088207:你应该学习jquery的基础知识。你应该问这里的具体问题。你有什么想法是什么jQuery?我不这么认为。如果你遇到任何棘手的问题,然后在SO中提问,从你的尽头做出一些努力。 –

0

你可以这样做。它取决于你的锚标签位置。你可以通过它的父母元素获得锚标签。 (例如,我使用了一个带有类内容的div作为父项)。

演示: http://jsfiddle.net/a6NJk/597/

<div class="content"> 
    <a href="javascript:;" title="Add Code to quick Quote Form">P3030-61</a> 
    <a href="javascript:;" title="Add Code to quick Quote Form">P3030-62</a> 

    <input type="text" name="code" value="" size="40" class="wpcf7-form-control wpcf7-text sidebarInput" id="code" aria-invalid="false"> 

</div> 

的Jquery:

$(".content a").click(function(e){ 
    e.preventDefault(); 
    $('#code').val($(this).text()); 
    console.log("fddsf"); 
    }) 

如果您要添加的所有锚文本卡嗒一声:
演示:http://jsfiddle.net/a6NJk/598/ 然后更换

$('#code').val($(this).text()); 

通过

$('#code').val($('#code').val()+$(this).text()); 

,如果你不想重复值:

演示:http://jsfiddle.net/a6NJk/600/

$(".content a").click(function(e){ 
    e.preventDefault(); 
    var out = $('#code').val(); 
    if(out.indexOf($(this).text()) == -1) { 
     $('#code').val(out+$(this).text()); 
    } 
    }) 

您可以添加,这样的:

http://jsfiddle.net/a6NJk/607/

$(".content a").click(function(e){ 
e.preventDefault(); 
var out = $('#code').val(); 
if(out.indexOf($(this).text()) == -1) { 
    out = out == '' ? out: out+','; 
    $('#code').val(out+$(this).text()); 
} 

})

+0

这个效果很好 - 有没有添加到文本而不是替换它的方法? – user1088207

+0

你的意思是追加? –

+0

是的,所以如果他们点击不止一个,他们将被添加到文本框,即P3030-61,P3030-62 – user1088207