1

我有这样的东西

 <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 相同的容器中,作为查看所有功能的一部分

4

3 回答 3

2

就像是:

$('#first input').serialize();

根据您更新的问题:

$('form div:not(#fake-list-sorted-alphabetically) :input').serialize()
于 2013-07-02T21:26:39.560 回答
2

有输入字段数组:var data = $("#first input").serializeArray();

使用 ajax 提交表单:$.post("you action url", data);

http://api.jquery.com/serializeArray/

于 2013-07-02T21:40:59.053 回答
1

您可以只将您想要的数据收集到一个对象中,然后将该对象传递给您的 ajax 调用以将其发送到服务器。如果您使用的是提交按钮,您可以将点击处理程序绑定到它并在事件上使用 event.preventDefault() 来阻止它提交所有内容。之后,继续使用 jquery 从表单中获取所需的值,然后使用该数据进行 ajax 调用。

于 2013-07-02T21:26:56.020 回答