使用文本超链接将文本添加到输入字段

时间:2014-04-28 20:32:22

标签: javascript getelementbyid

这可能是虚拟问题,但我无法找到解决方案。

我们有一段代码:

<script type="text/javascript">
        $(function() {
            $('.tags_select a').click(function() {
                var value = $(this).text();
                var input = $('#text_tag_input');
                input.val(input.val() + value + ', ');
                return false;
            });
        });
</script>

和HTML:

<input id="text_tag_input" type="text" name="tags" />

<div class="tags_select">
<a href="#">text1</a>
<a href="#">text2</a>
<a href="#">text3</a>
</div>

问题如下 - 当我点击链接text1,然后是text2等时,所有内容都会出现在输入中。我想要实现的只是显示一个变量(在这种情况下,最新,最后一个变量)。

谢谢!

3 个答案:

答案 0 :(得分:1)

使用:

input.val(value);

而不是:

input.val(input.val() + value + ', ');

答案 1 :(得分:1)

这应该对你有用

<script type="text/javascript">
    $(function() {
        $('.tags_select a').click(function() {
            $('#text_tag_input').val("");
            var value = $(this).text();
            var input = $('#text_tag_input').val(value);
            return false;
        });
    });
</script>

<input id="text_tag_input" type="text" name="tags" />
<div class="tags_select">
  <a href="#">text1</a>
  <a href="#">text2</a>
  <a href="#">text3</a>
</div>

答案 2 :(得分:1)

input.val(input.val() + value + ', ')

这样做是设置输入值=(输入&#39;当前值+点击值+&#39;,&#39;)

input.val(value)

上面的代码只是将输入值设置为点击的值。


但是,如果您不想删除代码中的任何内容,则只需添加

即可 在致电input.val('')之前

input.val(input.val() + value + ', ')