javascript - 数组长度不随 .push() 增加

标签 javascript jquery html web

这个问题引用了下面的代码。我有一个变量数组,我将名为 person_list 的元素插入其中。我的期望是,当我将元素推送到 person_list 时(通过按添加按钮),数组的大小应该增加。然而,这种情况并非如此。每当我按下添加按钮时,输入框中的当前值就会覆盖数组的第一个元素,并且数组大小不会增加。我做错了什么?

$(function() {
  window.person_list = [];
  btns_event_listener();
});

function btns_event_listener() {
  $("#add_btn").click(function() {
    person_list.push($("#_IWID_Persons_field").val());
    alert(person_list.length);
  }); 
}

以下是相关的 HTML:

<tr id="_IWID_Persons_Config">
    <td width="20%" class="lotusFormLabel lotusFormFieldRow lotusNowrap"><label for="name"> Include Persons: </label></td>
    <td class="lotusFormFieldRow">
        <input type="text" value="" class="lotusText" id="_IWID_Persons_field">
        <button id="add_btn">Add</button>
    </td>
    <td width="40%" class="lotusFormFieldRow"></td>
</tr>

最佳答案

我认为您希望将 person_list 存储为 var 并在“btns_event_listener”函数的范围内。

示例

var person_list = []

我创建了一个JsFiddle并附有推荐。

关于javascript - 数组长度不随 .push() 增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19863476/

相关文章:

javascript - 包含 undefined variable 的输出脚本

javascript - 如何将最后单击的 anchor 设置为与所有其他链接不同的颜色?

html - 使一个 DIV 滚动到另一个 DIV HTML 和 CSS 后面

javascript - Kendo UI Grid - 单元格上的标题属性

javascript - 是否有适用于 Windows XP 的工具来修复 IE9 问题?

javascript - 使用 jQuery 从列表中按索引选择元素

mysql - 在 Jquery Mobile 下拉列表中显示来自 mysql 的日期

javascript - IE7中的IFrame滚动条问题

javascript - 如何在 MarkLogic 10 的资源扩展中导入 JavaScript 模块

jquery - Bootstrap 2.3.2 下拉菜单