Home  >  Article  >  Backend Development  >  列表排序同一个name的表单怎么用serizelize()序列化

列表排序同一个name的表单怎么用serizelize()序列化

WBOY
WBOYOriginal
2016-06-20 12:27:031426browse

请教下问题,列表排序同一个name的表单怎么用serizelize()序列化呢,var paixu = $(":input[name='paixu']").serialize();用data:paixu,过去,只获取到最后一个排序。


回复讨论(解决方案)

<input type="text" name="test" value="t1"><input type="text" name="test" value="t2"><input type="text" name="test" value="t3"><input type="text" name="test" value="t4"><input type="submit" id="test" value="test"><script type="text/javascript">$("#test").click(function(){	var data;	data = $(":input[name='test']").map(function(){		return $(this).val();	}).get();	alert(data);})</script>

<input type="text" name="test" value="t1"><input type="text" name="test" value="t2"><input type="text" name="test" value="t3"><input type="text" name="test" value="t4"><input type="submit" id="test" value="test"><script type="text/javascript">$("#test").click(function(){	var data;	data = $(":input[name='test']").map(function(){		return $(this).val();	}).get();	alert(data);})</script>


这种方法我也可以实现,本来想试下用serialize()进行序列化,可没成功,用serialize()实现不了吗?

你要么遵守 php 的约定:同名对象用数组形式命名
要么从 file_get_contents('php://input') 取回数据自行解析

data:paixu,
paixu 要是一个json格式的数据,你序列化也不行啊
非要序列化可以这样
var data = $("#form").serialize();
$.ajax({
type: "post",
url:"xx.php",
data:{'data':data},
后台获取数据 $_POST['data']

回复:jam00,相同键值的name确实有点麻烦,还是遍历比较好用些吧,谢谢了

当然你也可以用 serializeArray
var paixu = {data : $(":input[name='paixu']").serializeArray() };

不过收到的是形如这样的数组
array(
  'data' => array(
    array('name' => 'paixu', 'value' => 1),
    array('name' => 'paixu', 'value' => 2)
  )
)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn