JQuery:如何从.serialize()中排除一个选项?

时间:2012-03-05 04:33:11

标签: javascript jquery

我的表单中有一堆表单元素,如下所示:

<select id="sectionNumber" name="sectionNumber">
    <option value="All">All</option>
    <option value="one">one</option>
    <option value="two">two</option>
    <option value="three">three</option>
</select>

我将此表单作为AJAX请求发送。

$.getJSON("myAction.action", $('#myForm').serialize(), processData);

如果选择全部,是否有一种简单的方法可以从sectionNumber=All返回值中排除.serialize()字符串?我有很多这些,并不是所有这些都有All选项。

4 个答案:

答案 0 :(得分:2)

$('#myForm').serialize().replace('sectionNumber=All&','');

答案 1 :(得分:1)

你可以将值设为空,就像@tvanfosson建议的那样。但是,如果您确实需要"All"值,则可以过滤字段,然后再次对其进行序列化。

看看:http://jsfiddle.net/ATXbt/

答案 2 :(得分:0)

如果您从不使用“全部”值,请不要在标记中设置它并将其保留为

<option value="">All</option>

通过这样做,您不必编写一堆额外的脚本

答案 3 :(得分:0)

旧帖子,但我希望有人会发现它很有用。 要排除空值,您可以使用:

':not(:empty)'