0

假设我有多个带有数组名称的文本框,例如:

<input type='text' name='test[]' class='test_tb' id='test1' value=''/>
<input type='text' name='test[]' class='test_tb' id='test2' value=''/>

现在,如果我使用表单,我可以轻松地将其序列化并发送,但我想知道如何手动构建它。我尝试了类似的东西

$.get('test.php',{
   'test[]':$("#test1").val(),
   'test[]':$("#test2").val()
},function(d){
   console.log(d);
});

但是由于一个对象不能有重复的键,显然这不起作用......那么这样做的手动方式是什么?

PS:这是为了学习目的而不是任何实际任务。

4

3 回答 3

1

尝试

$.get('test.php',{
   'test[]':[$("#test1").val(), $("#test2").val()]
},function(d){
   console.log(d);
});
于 2013-08-08T06:09:26.677 回答
1

我认为 Jquery 的地图是这种情况下的解决方案。对于更通用的解决方案,我建议使用以下方法:

var values = $("input[type='text']")
          .map(function(){return $(this).val();}).get();

$.get('test.php', {
   test: values
}, function(d){
   console.log(d);
});
于 2013-08-08T07:12:54.820 回答
0

你想要数组,所以制作数组。

$.get('test.php', {
   test: [
     $("#test1").val(),
     $("#test2").val()
   ]
}, function(d){
   console.log(d);
});
于 2013-08-08T06:09:37.617 回答