Javascript-输入单击时输入字段值的未定义数组

时间:2018-10-31 05:58:41

标签: javascript php jquery arrays

我输入以下文本:

<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代码在做什么错?为什么我无法在控制台中打印keyword2keyword1值?

3 个答案:

答案 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然后使用# 然后使用类。 标签然后标签名