我正在使用$('#myForm').seralize()
通过$.ajax()
将参数传递到服务器端组件,但是,当我在jqueryui对话框使用的div中包含任何表单元素时,$('#myForm').seralize()
不能识别该div中的任何表单元素更改。
请参阅我的jsfiddle示例。
最佳答案
这是因为$('#dialog').dialog()
通过将#dialog
完全克隆到另一个位置(我相信页面的底部)将#myform
从<div>
中移出。
您可以使用以下命令在对话框中找到输入:
$('#dialog :input').serialize();
也许您可以将两组分开,然后将它们一起发送回服务器:
...
data: {
common: $('#myForm').serialize(),
dialog: $('#dialog :input').serialize();
},
...
或者,也许您可以将它们组合在一起,如下所示:
...
data: $('#myForm').serialize() + '&' + $('#dialog :input').serialize(),
...
更新的jsFiddle。
关于jquery - $ .serialize()识别jQuery UI对话框中的表单元素更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11851896/