我有一个这样的表格
<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中的所有表单输入排除吗?
谢谢
答案 0 :(得分:0)
使用CSS :not
$('form div:not(.excluded) input').serialize();
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;
答案 1 :(得分:0)
在not()
中,您应该使用.excluded :input
代替.excluded
。
$('form :input').not('.excluded :input').serialize();
答案 2 :(得分:0)
首先基于div
过滤,然后从过滤结果中获取所有输入
像
$('form').find("div").not('.excluded').find(':input').serialize();