是否可以通过使用分配给两个div的类来获取表单字段数据并将其序列化?
我有4个包含表单字段的div,一次只显示两个DIV。显示的内容取决于下拉选择。
如果select = 1
,则显示类classOne
的div,隐藏classTwo
的div
如果select = 2
,则显示类classTwo
的div,隐藏classOne
的div
当我提交表单时,我想要使用classOne
或classTwo
序列化两个div,具体取决于下拉列表中选择的内容。
到目前为止,我无法通过div来序列化表单日期..
data: $('.classOne').serializeArray(),
这不会将任何数据传递给我的后端脚本。
答案 0 :(得分:6)
您需要定位这些元素中的表单控件。您可以使用伪选择器:input
来涵盖各种控件标签和类型
data: $('.classOne :input').serializeArray()
的 DEMO 强>
另一种常见的方法是使用<fieldset>
标记并禁用非活动标记。禁用字段集会禁用其中的任何表单控件,以便您可以在整个表单上有效使用serialize()
,因为它不包含已禁用的控件
答案 1 :(得分:1)
serializeArray()
返回所有已启用的输入字段数据。您需要禁用您不希望serializeArray()
返回的输入字段。
选择下拉列表时,请将attribute
个input
字段设置为disabled
。
禁用输入字段:
$(input).attr('disabled','disabled')
;
如果select = 1,则div为class&class; classOne&#39;显示和divs与'classTwo&#39;被隐藏并disabled
如果select = 2,则div为class&class; classTwo&#39;是表示和divs与'classOne&#39;被隐藏并disabled