仅提交表单中的特定字段

时间:2013-07-02 21:24:51

标签: javascript jquery

我有类似的东西

 <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作为视图所有函数的一部分显示在同一个容器中

3 个答案:

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

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

答案 2 :(得分:1)

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