Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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获取数组,multiple<;输入>;同名_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 如何使用jQuery获取数组,multiple<;输入>;同名

Javascript 如何使用jQuery获取数组,multiple<;输入>;同名,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个表单,用户可以使用jQuery添加输入字段 <input type="text" id="task" name="task[]" /> 提交表单后,我得到一个PHP数组 我想用$.ajax()处理这个问题,但我不知道如何在jQuery中将转换为数组 提前感谢。您不能对文档中的多个元素使用相同的id。保持元素的ID不同且名称相同 <input type="text" id="task1" name="task" /> <input type="text"

我有一个表单,用户可以使用jQuery添加输入字段

<input type="text" id="task" name="task[]" />

提交表单后,我得到一个PHP数组

我想用
$.ajax()
处理这个问题,但我不知道如何在jQuery中将
转换为数组


提前感谢。

您不能对文档中的多个元素使用相同的id。保持元素的ID不同且名称相同

<input type="text" id="task1" name="task" />
<input type="text" id="task2" name="task" />
<input type="text" id="task3" name="task" />
<input type="text" id="task4" name="task" />
<input type="text" id="task5" name="task" />

var newArray = new Array();

$("input:text[name=task]").each(function(){
    newArray.push($(this));
});

var newArray=newArray();
$(“输入:text[name=task]”)。每个(函数(){
push($(this));
});

对于多个元素,您应该给它一个类而不是id,例如:

<input type="text" class="task" name="task[]" />
使用:

如果更改或删除id(该id应该是唯一的),也可以使用选择器
$(“input[name='task\\[\\]'])


工作示例:

首先,页面上不应该有多个ID相同的元素-ID应该是唯一的

您只需删除id属性并将其替换为:

<input type='text' name='task'>

要捕获名称数组,我使用以下方法:

$("input[name*='task']")

如果希望选择器获得相同的id,请使用:

$("[id=task]:eq(0)").val();
$("[id=task]:eq(1)").val();
etc...
您可以使用来执行此操作。

HTML:

<input type="text" name="task[]" class="form-control" id="task">

Q:如何访问名称数组文本字段

<input type="text" id="task" name="task[]" />

@拉胡尔:那不行,因为他要处理多个文本框,而不是一个。如果您了解PHP,请注意文本框的名称
task[]
,这意味着应该有多个文本框。@rahul:您的更新在生成PHP数组方面仍然没有帮助,如果
[]
的后缀是字段的名称。这对1,2,3很有效,因此我将使用php的explode函数对其进行排序,谢谢@allhelping@x4tje-没问题。您不必使用explode-请注意,
values
是一个数组,而不是字符串。这取决于您如何进行AJAX调用,或者课程。为什么我们需要
.get()
?get()将值数组展平为字符串。如果确实需要实际的Javascript值数组,那么应该删除“.get()”@orrd-
$(…)
返回类似jQuery包装器的数组。返回真实DOM节点的真实数组,而不是字符串。这实际上是这里的最佳答案。@Sarfraz请检查它。如果kode barang具有相同的值,我如何防止?谢谢
$("[id=task]:eq(0)").val();
$("[id=task]:eq(1)").val();
etc...
<input type="text" name="task[]" class="form-control" id="task">
var tasks= new Array();
$('input[name^="task"]').each(function() 
{
tasks.push($(this).val());
});
<input type="text" id="task" name="task[]" />
$('input[name="task\\[\\]"]').eq(0).val()
$('input[name="task\\[\\]"]').eq(index).val()