Javascript 如何使用jquery获取特定的节表单数据 为了清楚地定义问题,考虑这个例子。 <form id='myform'> <div id='location'> <input type='text' name='username'> </div> <div id='background' style='display:none'> <input type='text' name='username'> </div> <div id='family' style='display:none'> <input type='text' name='username'> </div> </form>

Javascript 如何使用jquery获取特定的节表单数据 为了清楚地定义问题,考虑这个例子。 <form id='myform'> <div id='location'> <input type='text' name='username'> </div> <div id='background' style='display:none'> <input type='text' name='username'> </div> <div id='family' style='display:none'> <input type='text' name='username'> </div> </form>,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,例如,位置部分包含一些关于用户位置的信息,如 country , city , zip , state 每个项目(如国家/地区)都包含一个箭头。在箭头上单击“我使用get参数将用户发送到另一个页面”?item=location。在DocumentReady上,我查看get中的内容,然后填写相关字段并显示所需部分。加载所需的下拉列表和其中的选定项。现在我想用ajax发布数据。如果我使用$('form').serialize(),它将发送所有带有空值的节信息,我不需要这些空值。因为其他部分被隐藏并

例如,位置部分包含一些关于用户位置的信息,如

country , city , zip , state
每个项目(如国家/地区)都包含一个箭头。在箭头上单击“我使用get参数将用户发送到另一个页面”
?item=location
。在DocumentReady上,我查看get中的内容,然后填写相关字段并显示所需部分。加载所需的下拉列表和其中的选定项。现在我想用ajax发布数据。如果我使用
$('form').serialize()
,它将发送所有带有空值的节信息,我不需要这些空值。因为其他部分被隐藏并且没有加载。我只想发送此scanrio中位置的数据。我怎样才能做到这一点


我在移动公司工作。我正在为此使用jquery和knockout。

您可以使用简单的CSS选择器让jquery
序列化()

$('#location :input').serialize()

请参阅。

您可以使用简单的CSS选择器让jQuery
序列化()
仅对表单的一部分进行序列化:

$('#location :input').serialize()

请参阅。

您可以从隐藏的
divs
禁用
输入。这样一来,
.serialize()
就不会添加它们了。您可以在beforeSend事件处理程序或表单中修改使用ajax发布的数据。submit()事件处理程序可能重复感谢@Circadian为此,我不知道您可以从隐藏的
divs
禁用
输入。这样一来,
.serialize()
就不会添加它们。您可以在发送事件处理程序之前或以表单的形式修改使用ajax发布的数据。submit()事件处理程序可能重复感谢@Circadian为此我不知道OK如果有选择、复选框和单选按钮怎么办。我发布的代码只包含样本<代码>“输入选择器基本上选择所有表单控件”
。请参阅@haim770,感谢您的帮助,但尽管我找到了一个更好的解决方案,但它仍然不起作用。我正在检查这个给我正确的想法。好的,如果有选择,复选框和单选按钮。我发布的代码只包含样本<代码>“输入选择器基本上选择所有表单控件”
。请参阅@haim770,感谢您的帮助,但尽管我找到了一个更好的解决方案,但它仍然不起作用。我正在检查这个给我正确的想法。