这个问题引用了下面的代码。我有一个变量数组,我将名为 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/