如何使用jQuery获取下面第1和第n个div的输入值?

时间:2010-12-18 14:39:40

标签: jquery serialization

$.fn.serialize()接近我想要的内容,只是它只适用于<form>,如何对普通<div>执行此操作?

<div>
<input type="text" name="var1" />
....
</div>

<div>
..
</dvi>

<div>
<input type="text" name="varN" />
....
</div>

3 个答案:

答案 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;?