Javascript获取包含数组键的字段数组的长度

Javascript get length of an array of fields with a array keys in it

本文关键字:数组 字段 获取 包含 Javascript      更新时间:2023-09-26

我有一个简单的表单,里面有一个数组:

<form id='my_form'>
    <input type="text" name="my_array[1]">
    <input type="text" name="my_array[5]">
    <input type="text" name="my_array[6]">
    <input type="text" name="non_array_field">
</form>

正如你所看到的,数组键被指定为

我怎样才能得到这个数组的长度?我可以使用javascript或jquery

这些只有在阵列没有密钥的情况下才有效:

document.querySelectorAll("[name='my_array[]']").length
document.formName.elements["my_array[]"].length

Use属性以选择器开头。若要仅选择表单内的元素,请使用表单选择器。

[attr^=值]

表示属性名称为attr且其值以"value"为前缀的元素。

document.querySelectorAll("#my_form [name^='my_array[']").length

var len = document.querySelectorAll('#my_form [name^="my_array["]').length;
console.log(len);
<form id='my_form'>
  <input type="text" name="my_array[1]">
  <input type="text" name="my_array[5]">
  <input type="text" name="my_array[6]">
  <input type="text" name="non_array_field">
</form>

使用jQuery

文档

$("#my_form [name^='my_array[']").length

var len = $('#my_form [name^="my_array["]').length;
console.log(len);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<form id='my_form'>
  <input type="text" name="my_array[1]">
  <input type="text" name="my_array[5]">
  <input type="text" name="my_array[6]">
  <input type="text" name="non_array_field">
</form>