【问题标题】:AJAX Form Submission - Selecting all inputs except unchecked checkboxesAJAX 表单提交 - 选择除未选中复选框之外的所有输入
【发布时间】:2013-07-02 14:28:56
【问题描述】:

我正在创建一个包含许多支持 AJAX 的表单的小型 CRM。我正在尝试建立最好的中性数据选择工具来获取表单的所有数据。

我遇到的一个问题是,在执行$('#checkbox').val() 时,复选框总是“打开”。我的目标是编写 1 个选项来获取其中包含数据的所有项目。我目前的选择声明非常简单:

$('input, select, textarea').each( function() {
    // do stuff with the data, and create a dataString
}

我尝试过使用:not(),但我真正想做的是获取所有不是未选中复选框的输入标签。我可以使用一些嵌套选择器吗?我知道:checked 始终可用,但我试图让它尽可能不具体。我知道我能做到:

$('input[type=text], input:checked, type[type=hidden] .... ')

等等,但我希望保持简短(如果可能的话!)

谢谢大家!

【问题讨论】:

  • 您希望查询返回单选按钮(未选中还是选中)?
  • 这个想法是最终也包括单选按钮(仅选中),但到目前为止我创建的表单仅包含上述项目。 :)

标签: jquery forms


【解决方案1】:

尝试使用$('form#myForm').serializeArray(),它会忽略未选中的框。 $('form#myForm').serialize() 也是如此。

【讨论】:

  • 谢谢! serializeArray()serialize() 有什么区别? jQuery 与原生?有速度差异吗?
  • 找到了答案——serialize() 似乎返回了一个字符串!很酷。 *.com/questions/10430502/…