我正在使用 $('#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/