获取不在特定div中的所有表单输入

时间:2016-03-05 06:11:44

标签: javascript jquery html css css-selectors

我有一个这样的表格

<form action="" method="post">
<div>
    <input type="text" name="input1" value="">
    <select name="my_list">
        <option value="1">1</option>
        <option value="2">2</option> 
    </select>
    <textarea name="details"></textarea>
</div>
<div class="excluded">
    <input type="text" name="input2" value="">
    <input type="text" name="input2" value="">
    <input type="text" name="input3" value="">
    <textarea name="details2"></textarea>
</div>
</form>

我想serialize我的表单的所有输入,但我想排除div中的输入排除

我尝试了类似的东西,但它不起作用:

$('form').find(':input').not('.excluded').serialize();

有人知道我怎样才能获得不在div中的所有表单输入排除吗?

谢谢

3 个答案:

答案 0 :(得分:0)

使用CSS :not

$('form div:not(.excluded) input').serialize();

&#13;
&#13;
alert($('form div:not(.excluded) input').length);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="post">
<div>
    <input type="text" name="input1" value="">
    <select name="my_list">
        <option value="1">1</option>
        <option value="2">2</option> 
    </select>
    <textarea name="details"></textarea>
</div>
<div class="excluded">
    <input type="text" name="input2" value="">
    <input type="text" name="input2" value="">
    <input type="text" name="input3" value="">
    <textarea name="details2"></textarea>
</div>
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

not()中,您应该使用.excluded :input代替.excluded

$('form :input').not('.excluded :input').serialize();

答案 2 :(得分:0)

首先基于div过滤,然后从过滤结果中获取所有输入 像

这样的东西
$('form').find("div").not('.excluded').find(':input').serialize();