$.fn.serialize()
接近我想要的内容,只是它只适用于<form>
,如何对普通<div>
执行此操作?
<div>
<input type="text" name="var1" />
....
</div>
<div>
..
</dvi>
<div>
<input type="text" name="varN" />
....
</div>
答案 0 :(得分:3)
jQuery's .serialize()
method不仅适用于表单。
<强> From the docs 强>
.serialize()
方法可以作用于已选择单个表单元素的jQuery对象,例如<input>, <textarea>, and <select>
。但是,通常更容易选择<form>
标记本身进行序列化:
因此,只需选择所需的元素,然后使用.serialize()
:
var ser = $('input[name=var1],input[name=varN]').serialize();
答案 1 :(得分:0)
我认为最好的答案是karim79将其置于评论中:
$("div:eq(0), div:eq(n)").find(":input").serialize();
答案 2 :(得分:0)
您可以创建一个表单,在其中克隆您的div,然后在该新表单上调用.serialize()
$f = $('<form/>');
$('div').each(function(i,e) {
$f.append($(e).clone() )
})
$f.serialize();
但DTD是否需要将输入包装在&lt; form&gt;?
中