【问题标题】:length of array used for html input element's name attribute用于 html 输入元素的 name 属性的数组长度
【发布时间】:2014-09-19 03:51:52
【问题描述】:

下面的这段代码将一个 div 附加到另一个 div。前一个 div 包含一个名称属性为“inputName[]”的输入元素。我猜这是一个随着更多 div 添加而自动递增的数组。如何输出这个数组的长度?我试图 console.log 它(如下所示),但它不起作用。

我得到的错误是“Uncaught TypeError: Cannot read property 'length' of undefined”

请问我该怎么做才能解决这个问题?

$("#buttonid4").on("click", function() {

    var string1 = "<div class='eight columns'>
       <input type='text' size='76' placeholder='paste URL here' name='inputName[]'> </div>";

        $("#deleteandadd").append(string1);                            

        console.log(inputName.length);

    });

【问题讨论】:

  • 你在哪里声明变量“inputName”?
  • @Seano666 我尝试将其声明为“var inputName;” , 在 "$("#buttonid4").on("click", function()" 之外,也在其中。我也尝试过 "var inputName[];" 但出现错误。
  • @Moogs JSFiddle 这里,谢谢:jsfiddle.net/0yo7LLpk
  • 这个变量的用途还不清楚。您说它是一个数组,但是您将它用作要附加的元素的名称属性?在您提供的代码中,您没有对数组做任何事情。非常混乱。
  • @Seano666 我假设当它用作被附加元素的名称属性时,它会自动变成一个数组(例如 inputName[1]、inputName[2] 等)。好的,我只想知道有多少输入元素附加了名称 inputName[]... 最简单的方法是什么。

标签: javascript jquery arrays square-bracket name-attribute


【解决方案1】:

如果您想要名称为“inputName[]”的输入数量,您可以在 jquery 中使用名称选择器。

喜欢下面的

$('#deleteandadd input[name="inputName[]"]').length

或

var  inputName=    $('#deleteandadd input[name="inputName[]"]')

console.log(inputName.length)

【讨论】:

  • 太棒了,成功了,谢谢。我想从技术上讲 inputName[] 并不是一个真正的 javascript 数组,而是为了 PHP 目的而编写的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
  • 2010-10-04
  • 2017-12-27
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多