Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组中的Javascript/JQuery保存表单字段_Javascript_Jquery_Arrays - Fatal编程技术网

数组中的Javascript/JQuery保存表单字段

数组中的Javascript/JQuery保存表单字段,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个from,其中有几个文本输入,如下所示: <input name="option[][<?php echo $cmd1; ?>]" type="text"> <input name="option[][<?php echo $cmd2; ?>]" type="text"> <input name="option[][<?php echo $cmd3; ?>]" type="text"> <input name=

我有一个from,其中有几个文本输入,如下所示:

<input name="option[][<?php echo $cmd1; ?>]" type="text">
<input name="option[][<?php echo $cmd2; ?>]" type="text">
<input name="option[][<?php echo $cmd3; ?>]" type="text">
<input name="option[][<?php echo $cmd4; ?>]" type="text">
[..]

如果您的
HTML
option[]
而不是
option[][]
之类的

<input name="option[<?php echo $cmd1; ?>]" type="text">
<input name="option[<?php echo $cmd2; ?>]" type="text">
<input name="option[<?php echo $cmd3; ?>]" type="text">
<input name="option[<?php echo $cmd4; ?>]" type="text">
使用
.push()

.push()是一个函数,它在数组的末尾添加一个元素并分别展开数组。

将所有输入值(在表单中)推送到数组

var myarray = [];
$('#form').find(':input').each(function(){
  myarray.push($(this).val());
});

只需使用类,如下所示:

<input class="option" name="option[<?php echo $cmd1; ?>]" type="text">
<input class="option" name="option[<?php echo $cmd2; ?>]" type="text">

var options = [];
$('.option').each(function(){
  options.push($(this).val());
});

虽然您已经接受了答案,但值得指出的是(假设您在适当的时间执行此操作,或在适当的事件发生后执行此操作),这可以通过两种相对简单的方式完成

使用jQuery:

var options = $('input[name^="option"]').map(function(){ return this.value; }).get();
或者使用纯JavaScript(现代浏览器):


你期望得到什么结果?包含所有输入值的数组(名称为
选项为
)感谢您的建议,但正如我在问题中所说的,我的输入量未定义,因此无法分配它们IDs@Ronnyvdb这两个代码示例是独立的。第二个将在
#表单
元素中获取任何
输入
,并将其值推送到数组中。为您的表单指定一个ID为
form
,它应该可以工作。您好,我已将代码更改为您建议的代码,现在提交表单时如何访问选项数组?
<input name="option[<?php echo $cmd1; ?>]" type="text">
<input name="option[<?php echo $cmd2; ?>]" type="text">

var options = [];
$("input[name*='option']").each(function(){
  options.push($(this).val());
});
var options = $('input[name^="option"]').map(function(){ return this.value; }).get();
var options = [].map.call[document.querySelectorAll('input[name^="option"]'), function(a){
    return this.value;
});