序列化表格,不包括特定类别

时间:2015-08-11 05:59:51

标签: javascript jquery

我希望以一种方式序列化表单,以便从某个特定父级中排除元素。 e.g。

<form>
    <input type="text" name="myText" />
    <input type="hidden" name="myHidden" />
    <div class="ng-hide">
        <input type="text" name="insideText" />
    </div>
</form>

js code:

$('form').serialize(); // it will serialize all elements

我想序列化除父div.ng-hide之外的form的所有元素。在提交之前,我可以将其删除,如$('.ng-hide').remove(),但需要一些更好的解决方案。

注意:该示例是缩小版本,可能有3-4个ng-hide div,每个内部可能有10个以上的元素 -

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

var serializedReturn = $('input[name!=insideText]', this).serialize();  

或以更好的方式

$('form').find('input[name!=insideText]').serialize(); 

或避免整个div

$('form').not('.ng-hide').serialize(); 

答案 1 :(得分:0)

试试这个:

$('form:not(.ng-hide) > :input').serialize();

DEMO