【发布时间】:2010-11-21 07:07:49
【问题描述】:
我现在几乎得到了我想要的。 (从互联网上的代码拼凑而成。)
但我需要知道如何防止我的查询被覆盖。
例如我有一个文本字段。当下拉列表中的一个词被选中时,它会将文本放入表单字段中。如果我选择另一个单词,它将替换该单词。我想要它做的是能够尽可能多地选择,并且无论我触摸多少单词,它都会保留这些单词,除非我向上退格或从表单字段中删除它们。
这是我的代码。
【问题讨论】:
标签: javascript jquery field
我现在几乎得到了我想要的。 (从互联网上的代码拼凑而成。)
但我需要知道如何防止我的查询被覆盖。
例如我有一个文本字段。当下拉列表中的一个词被选中时,它会将文本放入表单字段中。如果我选择另一个单词,它将替换该单词。我想要它做的是能够尽可能多地选择,并且无论我触摸多少单词,它都会保留这些单词,除非我向上退格或从表单字段中删除它们。
这是我的代码。
【问题讨论】:
标签: javascript jquery field
一种方法是将新文本附加到输入控件而不是替换其内容,可能在中间插入一个空格字符:
$(".myselect").change(function() {
$(".textbox").val($(".textbox").val() + ' ' + $(this).val());
});
【讨论】:
.val() 方法返回 调用时没有 参数的文本框的值,但设置 i> 使用参数调用时文本框的值。在我的示例中,我首先调用.val() 来获取文本框的当前值,然后附加一个空格,然后附加下拉列表的选定值,最后将结果字符串传递返回给.val() 更新文本框的值。
.textbox,这将产生奇怪的结果。您可以使用回调使其更好:$('.myselect').change(function(){var select = this; $('.textbox').val(function(i, oldVal) { return oldVal + select.value; }); });