【发布时间】:2011-05-12 13:33:13
【问题描述】:
我有一个这样定义的 jquery 对话框(此处显示的部分代码)
buttons: {
"Opslaan": function() {
Opslaan();
$(this).dialog("close");
},
"Annuleren": function() {
$(this).dialog("close");
}
}
De Opslaan() 函数定义为空体 (function Opslaan(){})。
现在对话框是从不同的地方打开的,所以我想在打开对话框时定义 Opslaan() 方法的主体,因为它必须将数据保存在对话框中,但是会在那些不同的地方注入地方,所以 Opslaan(保存)方法必须一直不同。
我想到的一件事是在打开对话框时将实际方法传递给对话框(以便用传递的方法替换静态 opslaan(); 调用),但我不知道这是否可能
所以在用户点击按钮 A 的伪代码中
- 获取对话框的 html
- 重新定义方法 A(将正确的 javascript 放在正文中或让 Opslaan 方法指向方法 OpslaanA()
- 打开对话框
【问题讨论】:
-
`body (function Opslaan(){})`有什么作用?
-
对话框被注入了一些文本框。该对话框用于 4 个不同的小杂物屏幕。然后,当用户单击 Opslaan(表示“保存”)时,它必须调用正确的 Save 方法才能解析注入的 html,因为 html 在所有 4 种情况下都不同。因此,Opslaan 方法在 de 对话框中查看 html 并从文本框中获取值,然后创建它的 Web 服务调用。因此,当您单击“Opslaan”按钮时,我想根据 de 对话框中注入的 html 调用该方法的不同实现。这回答了你的问题?
-
好的,我认为您在每个页面上都有 4 种不同的 opslaan 方法,对吧?有不同的说明?在这种情况下,首先检查 window.Opslaan 是否存在,或者在用户必须单击按钮之前它是否在您的 dom 上,我不知道为什么您不能使用
serialize()方法来传递您的帖子/获取数据希望帮助一些如果没有,请为每个页面放置一些示例代码或它如何在代码中工作:)
标签: javascript jquery asp.net jquery-ui