在文本框中添加多个值

时间:2014-05-03 12:59:58

标签: javascript jquery

我试图允许用户在文本框中添加“收藏夹”列表,但是当添加多个值时,它会替换已存在的值。有人可以帮忙吗?谢谢,这是我的代码:

var name

function getFavourite() {

   name = "Student 1, ";

   $('#output').val(name)
   saveFavourites();
}

function getFavourite2() {
   name = "Student 2, ";

   $('#output').val(name)
   saveFavourites();
}

function saveFavourites() {
   var fav = $("#output").val();
   if (fav !== "") {
      localStorage[name] = $("#output").val();
      $("#output").val(name);

   }
}

function loadFavourites() {
   var fav = $("#name").val();
   if (name !== "") {
      $("#output").val(localStorage[name]);
      $("#name").val("");
   }
}

3 个答案:

答案 0 :(得分:1)

使用val会替换你已经注意到的现有值,所以如果你想添加那个值,我会做这样的事情。

$("#output").val($("#output").val() + ', ' + name);

至少如果我理解正确的话。这将获得切除值,然后将新值添加到它(在这种情况下使用逗号,但不是必需的)

当然,如果你需要两次或更多相同的元素,最好将它分配给var而不是两次调用选择器。

答案 1 :(得分:0)

我认为您正在研究多个选择下拉列表,如下所示:

http://codepen.io/martynasb/pen/kawxq

答案 2 :(得分:0)

您没有文本输入,您需要一个选择,您可以在其中选择多个值。在html中,它是<select multiple>

我知道为此提供最佳体验的插件是Select2:http://ivaynberg.github.io/select2/#basics

你不必立即加载所有选项,它们可以通过ajax轻松获取。