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

Add text to input field using text hyperlink

本文关键字:文本 输入 添加 字段 超链接      更新时间:2023-09-26

这可能是一个伪问题,但我找不到解决方案。

我们有一段代码:

<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等时,所有内容都显示在输入中。我想要实现的是只显示一个变量(在本例中,是最新的、最后一次cliked(。

谢谢!

这应该适用于

<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>

使用:

input.val(value);

而不是:

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

它的作用是设置输入值=(输入的当前值+点击值+','(

input.val(value)

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


然而,如果你不想删除代码中的任何内容,你可以添加

input.val(''),然后再呼叫input.val(input.val() + value + ', ')