首頁  >  文章  >  後端開發  >  列表排序同一个name的表单怎么用serizelize()序列化

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

WBOY
WBOY原創
2016-06-20 12:27:031426瀏覽

请教下问题,列表排序同一个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)
  )
)

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn