我有类似的东西
<div id="list">
<form>
<div id="first">
<label><input type="checkbox" value="third"> third</label>
<label><input type="checkbox" value="fourth"> fourth</label>
</div>
<div id="second">
<label><input type="checkbox" value="first"> first</label>
<label><input type="checkbox" value="second"> second</label>
</div>
<div id="fake-list-sorted-alphabetically">
<label><input type="checkbox" value="first"> first</label>
<label><input type="checkbox" value="second"> second</label>
<label><input type="checkbox" value="third"> first</label>
<label><input type="checkbox" value="fourth"> second</label>
</div>
</form>
</div>
是否可以使用$ .ajax仅序列化div#first,div#second中的复选框值并忽略#fake中的所有内容?现在我只是做一个$('#fake')。html(“”);就在我提交之前,但感觉很烦。我在表单之外没有#fake的原因是因为我需要它在#first和#second作为视图所有函数的一部分显示在同一个容器中
答案 0 :(得分:2)
类似的东西:
$('#first input').serialize();
根据您更新的问题:
$('form div:not(#fake-list-sorted-alphabetically) :input').serialize()
答案 1 :(得分:2)
有一系列输入字段:var data = $("#first input").serializeArray();
使用ajax提交表单:$.post("you action url", data);
答案 2 :(得分:1)
您可以只将所需数据收集到对象中,并将该对象传递给ajax调用,以将其发送到服务器。如果您正在使用提交按钮,则可以将单击处理程序绑定到它,并对事件使用event.preventDefault()以阻止它提交所有内容。之后,继续使用jquery从表单中获取所需的值,然后使用该数据进行ajax调用。