我输入以下文本:
<input class="form-control" id="ar-array" type="text" name="ar-array" value="" placeholder="Type a keyword and hit return to add items to the array">
我的JavaScript代码如下:
var rowsArr = new Array();
$("#ar-array").on('keyup', function (e) {
if (e.keyCode == 13) {
var item = $("ar-array").val();
rowsArr.push(item);
console.log(rowsArr);
}
});
因此,当我按下键盘上的Enter键时,我的js代码应该在ar-array
中添加rowsArr
输入字段的值,实际上它是这样做的,但是值是{ {1}},这是我的控制台日志:
undefined
我通过输入类似(2) [undefined, undefined]
0: undefined
1: undefined
length: 2
并按Enter来获得结果,然后键入keyword1
并再次按Enter。
我的js代码在做什么错?为什么我无法在控制台中打印keyword2
和keyword1
值?
答案 0 :(得分:3)
您错过了选择器中的#
。虽然我建议您使用this
来引用 event 绑定到的当前元素:
var rowsArr = new Array();
$("#ar-array").on('keyup', function (e) {
if (e.keyCode == 13) {
var item = $(this).val();
rowsArr.push(item);
console.log(rowsArr);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="form-control" id="ar-array" type="text" name="ar-array" value="" placeholder="Type a keyword and hit return to add items to the array">
答案 1 :(得分:2)
更新
var rowsArr = new Array();
var item = $("ar-array").val();
使用
var rowsArr = [];
var item = $("#ar-array").val();
希望这会有所帮助。
答案 2 :(得分:1)
var item = $(“ ar-array”)。val(); 替换为 var item = $(“#ar-array”)。val(); 强> 因为您通过使用id以及我们使用时获得的价值,
id然后使用# 然后使用类。 标签然后标签名