jquery - 跳过 Jquery 序列化中的隐藏输入

标签 jquery

我的表单包含隐藏和可见的输入,如下所示。在本示例中,我只想序列化未隐藏的 name='country'

<form id="finalform">
<input type='hidden' name='sid' value='901271316' />
<input type='hidden' name='tco_currency' value='USD'>
<input   name='country' value='India' />
</form>

我尝试了下面的代码,但它甚至序列化了隐藏的输入。

var frm = $("form#finalform:visible");
 var add= JSON.stringify(frm.serializeArray());

最佳答案

使用下面的代码。 not(:hidden) 不会包含隐藏在 serialize()

中的输入类型

检查DEMO

var frm  = $('#finalform').find(":input:not(:hidden)").serialize();

或者

var frm  = $('#finalform :input:not(:hidden)').serialize();

演示

var frm  = $('#finalform :input:not(:hidden)').serializeArray();

var frm1  = $('#finalform').find(":input:not(:hidden)").serializeArray();

$('#firstOutput').text(JSON.stringify(frm))
$('#secondOutput').text(JSON.stringify(frm1))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<form id="finalform">
 <input type='hidden' name='sid' value='901271316' />
 <input type='hidden' name='tco_currency' value='USD'>
 <input   name='country' value='India' />
</form>


<div id="firstOutput"> </div>
<div id="secondOutput"> </div>

关于jquery - 跳过 Jquery 序列化中的隐藏输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29566691/

相关文章:

javascript - 在 Codeigniter 中使用模态 Bootstrap 作为删除提示

javascript - 如何一次只打开一张 Accordion 幻灯片

javascript - 复选框未选中状态

jquery - 使用 jQuery 将悬停时的 div 宽度从 50% 更改为 70%

javascript - 有没有办法在一段时间后没有点击或任何其他事件来刷新 DOM?

javascript - 向 jquery slider 添加功能

javascript - 重写 : Navlinks Image Button Effect

javascript - JavaScript 中的文件路径

javascript - 用于 ajax 加载内容的 jQuery 选择器

javascript - 在 if 语句中插入 HTML