javascript - JQuery serializeArray 不包含没有选定选项的选择

标签 javascript jquery

我使用 serializeArray() 方法将 HTML 表单获取为 JS 对象。当表单具有带有“多个”选项的选择控件但未选择任何选项时,对象不会序列化。

这是一个示例:https://fiddle.jshell.net/tfzxmr9d/1/

当它有一个或多个值时,它就可以正常工作。它应该返回一个具有控件名称和空值或 null 值的对象。它是否按预期工作?

最佳答案

您似乎忘记了 $(function(){}); 就绪语法。你的代码可能看起来像这样。因为在你的情况下 jQuery 可能还没有准备好。

$(function(){

   function showValues() {
    var fields = $( ":input" ).serializeArray();
    $( "#results" ).empty();
    jQuery.each( fields, function( i, field ) {
      $( "#results" ).append( field.name + ": " + field.value + "<br>" );
    });
  }

  $( ":checkbox, :radio" ).click( showValues );
  $( "select" ).change( showValues );
  showValues();
});

关于javascript - JQuery serializeArray 不包含没有选定选项的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34800474/

相关文章:

javascript - Index.html 模板没有为 HtmlWebpackPlugin 加载图标

javascript - 机器人可以单击在 javascript 中创建模态窗口的链接吗?

javascript - msDropDown 删除所有选项

javascript - 单击 slidetoggle div 以打开幻灯片

javascript - 如何最小化 JavaScript 事件

javascript - 将外部 JSON 加载到 ChartJs

javascript - koGrid完全渲染后如何执行代码?

javascript - android 2.3 中 datalist 内选项标签的数量

Jquery克隆html中的元素

Javascript - div 在滚动问题上覆盖 div