无法向阵列添加多个人

时间:2018-04-23 15:45:33

标签: javascript jquery arrays

输入名字和姓氏字段后,下面的代码应该完成以下任务:

  1. 将索引号分配给此人
  2. 以列表形式填充该信息
  3. 以下是我的代码:

    $("volunteerList").value = null;
    for(var i = 0, vString = i + 1 + ". " + volunteerArray[i] + "\n"; i <  volunteerArray.length; i++){
      $("volunteerList").value+=vString;
    }
    

    我遇到的问题是它没有清除,无论我输入的是什么名字,它都会填充与第一个条目相同的名称。

    我不确定我在此代码中缺少什么,以允许下一个人输入下一个索引号,在这种情况下,2,3,4等等。

    非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

您可以使用jQuery或Array的映射来构建要设置为值的字符串列表,并将它们连接到空字符串上。

var volunteerArray = [ 'Jim', 'Sarah', 'Lance' ];

$("#volunteerList").val($.map(volunteerArray, function(element, index){
  return ++index +'. '+ element +'\n';
}).join(''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="volunteerList"></textarea>

答案 1 :(得分:-1)

您是否在jquery中缺少id或类说明符?

 $(".volunteerList").value =null;
        for(var i=0,vString=i+1+". "+volunteerArray[i]+"\n";i< volunteerArray.length;i++){
            $(".volunteerList").value+=vString;
        }

答案 2 :(得分:-1)

问题在于你的循环。您在for循环的初始化期间设置了vString的值,因此每次迭代都不会更新。

$("volunteerList").val() = null;
for(var i = 0; i <  volunteerArray.length; i++){
  vString = i + 1 + ". " + volunteerArray[i] + "\n"
  $("volunteerList").val($("volunteerList").val() + vString);
}