javascript - jQuery - serializeArray() 未获取选中复选框的值

标签 javascript jquery html checkbox

我有一个用作标志的表单中的复选框。

为了做到这一点,我添加了一个隐藏的输入元素,这样如果复选框没有被选中,一些东西仍然会被保存

<form action="">
    ...
        <input type="hidden" name="foo" value="no" />
        <input type="checkbox" name="foo" value="yes">
    ...
</form>

我遇到的问题是当我

  1. 勾选复选框
  2. 然后在表单上运行 jQuery.serializeArray()

为foo元素设置的值是“no”

Object { name="foo", value="no"}

serializeArray() 不应该模拟浏览器行为吗?如果是这样,如果复选框被选中,它不应该返回"is"吗?

我正在使用 jQuery v1.10.2

最佳答案

简而言之:不。serializeArray 方法仅在选中 的情况下返回复选框。因此,只要它保持未选中状态,它就会忽略它。 不过,如果您选中它,它将直接返回您输入的值。

http://api.jquery.com/serializearray/ 查看演示.

关于javascript - jQuery - serializeArray() 未获取选中复选框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24338177/

相关文章:

javascript - 使用ajax在一页上发送多个表单数据

javascript - 当我悬停它时,td 背景颜色不会改变

javascript - XMLHttpRequest可以获取数据显示在网页上

javascript - 允许在不同屏幕尺寸的菜单上显示和隐藏的功能

javascript - Jquery 正斜杠被标签内的空格取代

javascript - 浏览器打开后如何更改 Electron 窗口图标?

javascript - 在 Javascript 中转换特定日期

javascript - 如何使用 -moz-transform 永久更改 css 元素?

javascript - jQuery 更改为隐藏字段后触发重力表单中的表单更新

html - 如何在 Firefox 中隐藏 &lt;input type ="date"> 的弹出日历?