我有一个表单,用户可以在其中使用 jQuery 添加输入字段。
<input type="text" id="task" name="task[]" />
提交表单后,我在 PHP 中得到一个数组。
我想用 来处理这个问题,$.ajax()
但我不知道如何<input>
在 jQuery 中将我的s 转换为数组。
提前致谢。
我有一个表单,用户可以在其中使用 jQuery 添加输入字段。
<input type="text" id="task" name="task[]" />
提交表单后,我在 PHP 中得到一个数组。
我想用 来处理这个问题,$.ajax()
但我不知道如何<input>
在 jQuery 中将我的s 转换为数组。
提前致谢。
使用地图:
var values = $("input[id='task']")
.map(function(){return $(this).val();}).get();
如果您更改或删除 id(应该是唯一的),您也可以使用选择器 $("input[name='task\\[\\]']")
工作示例:http : //jsbin.com/ixeze3
对于多个元素,你应该给它一个类而不是 id 例如:
<input type="text" class="task" name="task[]" />
现在你可以得到那些使用 jquery 的东西:
$('.task').each(function(){
alert($(this).val());
});
首先,页面上不应有多个具有相同 ID 的元素 - ID 应该是唯一的。
您可以删除 id 属性并将其替换为:
<input type='text' name='task'>
并获取任务值的数组 do
var taskArray = new Array();
$("input[name=task]").each(function() {
taskArray.push($(this).val());
});
为了捕捉名称数组,我使用它:
$("input[name*='task']")
您不能对文档中的多个元素使用相同的 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));
});