将输入类的所有值推送到数组中

时间:2016-12-19 14:44:38

标签: javascript jquery

基于我所学到的以及我在Stack上阅读的内容,我编写了一个代码,该代码应该获取指定输入类的所有值并将它们推送到数组中。

我认为这个jQuery sript应该做的是:

  • 创建一个名为myArray
  • 的空数组
  • 点击#subButton时,<input class=".req"上的迭代开始,将每个<input class=".req"推送到myArray

问题是控制台中显示任何内容,因为没有发生任何事情,所以我猜有一个概念/写错误。

jQuery:

$(document).ready(function(){

    var myArray = [];
    $('#subButton').on('click', function() {
        $('.req').each(function() {
            myArray.push($(this).val()); 
            console.log(myArray);
        });
    });     

});

HTML:

<form id="iForm">
  <input type="text" id="i1" class=".req" placeholder="Name">
  <input type="text" id="i2" placeholder="Surname">
  <input type="text" id="i3" placeholder="Text A">
  <input type="text" id="i4" class=".req" placeholder="Text B">

  <input type="button" id="subButton" value="Registrati">
</form>

2 个答案:

答案 0 :(得分:3)

您必须在HTML输入中的类之前删除.

<input type="text" id="i1" class=".req" placeholder="Name">
__________________________________^
<input type="text" id="i4" class=".req" placeholder="Text B">
__________________________________^

应该是:

<input type="text" id="i1" class="req" placeholder="Name">
<input type="text" id="i4" class="req" placeholder="Text B">

希望这有帮助。

&#13;
&#13;
$(document).ready(function(){

  var myArray = [];
  $('#subButton').on('click', function() {
    $('.req').each(function() {
      myArray.push($(this).val()); 
      console.log(myArray);
    });
  });     

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="iForm">
  <input type="text" id="i1" class="req" placeholder="Name">
  <input type="text" id="i2" placeholder="Surname">
  <input type="text" id="i3" placeholder="Text A">
  <input type="text" id="i4" class="req" placeholder="Text B">

  <input type="button" id="subButton" value="Registrati">
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

修复了setNumericRounding(1) # make sure autoroundings turned on DT[.(112.3, 'B'), nomatch = 0L, on = .(a, b)] # Calculated ad hoc index in 0 secs # Starting bmerge ...done in 0 secs # a b # 1: 112.3 B 属性以删除前导字符后,您可以使用:

setkey(DT, a, b)
DT[.(112.3, 'B'), nomatch = 0L]
# Starting bmerge ...done in 0 secs
#        a b
# 1: 112.3 B

class将jQuery集合转换为标准数组,var myArray = $('.req').get().map(function(el) { return el.value }); 提取字段值。

这比使用$(...).get()的{​​{1}}更为清晰。