已解决 - 等待两天自我接受
使用jQueryUI对话框显示数据输入表单。
当用户点击NEXT时,会更改对话框大小(添加了几个控件),我希望将对话框重新定位到窗口顶部。
在.dialog:{/ p>的buttons{}
区域内评估NEXT按钮
$('#new_contact').dialog({
autoOpen: false,
modal:true,
title: 'Enter contact information:',
width: 800,
buttons: {
Next: function() {
var vet = verify_dialog_fields();
if (second_time_thru == 0) {
==> ==> ==> $('#new_contact').dialog( "option", "position", 'top' );
ask_choose_projects();
return false;
}
--= SNIP! =--
对话框未重新定位,因此position
命令错误或我还有其他错误。
任何人都可以从不完整的代码段看到我做错了吗?
我怀疑我做错了,因为我在.dialog()内部调用了.dialog(“option”)。
至少,我需要确认由三个箭头标识的position
选项是正确的。
答案 0 :(得分:0)
有意义的是,无法从对话框本身的初始化中更改对话框的选项,但这种解决方法可以解决问题。
这无疑是一种kludge,但它起作用了:
<span id="dummy"></span>
元素
#dummy
范围Next:
按钮的功能中,触发单击#dummy元素。新HTML:
<span id="dummy"></span>
NEXT功能的修订代码:
$('#new_contact').dialog({
autoOpen: false,
modal:true,
title: 'Enter contact information:',
width: 800,
buttons: {
Next: function() {
var vet = verify_dialog_fields();
if (second_time_thru == 0) {
==> ==> ==> $('#dummy').trigger('click');
ask_choose_projects();
return false;
}
--= SNIP! =--
新的jQuery代码:
$('#dummy').click(function() {
$('#new_contact').dialog( "option", "position", 'top' );
});