任何人都知道如何在函数内调用对话框函数? 举个例子,我有这样的代码,工作正常
$("body").on("click", "#addItem", function (e) {
e.preventDefault();
var url = $(this).attr('href');
$("#dialog").dialog({
title: 'Add New',
autoOpen: false,
width: "900px",
modal: true,
draggable: true,
open: function (event, ui) {
$(this).load(url);
},
close: function (event, ui) {
$(this).dialog('close');
}
});
$("#dialog").dialog('open');
return false;
});
$("body").on("click", "#delItem", function (e) {
e.preventDefault();
var url = $(this).attr('href');
$("#dialog").dialog({
title: 'Delete item?',
autoOpen: false,
width: "900px",
modal: true,
draggable: true,
open: function (event, ui) {
$(this).load(url);
},
close: function (event, ui) {
$(this).dialog('close');
}
});
$("#dialog").dialog('open');
return false;
});
$("body").on("click", "#updItem", function (e) {
e.preventDefault();
var url = $(this).attr('href');
$("#dialog").dialog({
title: 'Update item',
autoOpen: false,
width: "900px",
modal: true,
draggable: true,
open: function (event, ui) {
$(this).load(url);
},
close: function (event, ui) {
$(this).dialog('close');
}
});
$("#dialog").dialog('open');
return false;
});
$("body").on("click", "#detItem", function (e) {
e.preventDefault();
var url = $(this).attr('href');
$("#dialog").dialog({
title: 'Item Detail',
autoOpen: false,
width: "900px",
modal: true,
draggable: true,
open: function (event, ui) {
$(this).load(url);
},
close: function (event, ui) {
$(this).dialog('close');
}
});
$("#dialog").dialog('open');
return false;
});
当我想一会儿,我意识到这是一个很长的剧本。一个带有相同内容的长脚本。
现在,我觉得这样的事情
function openDialog(title, url) {
$("#dialog").dialog({
$("#dialog").dialog({
title: title,
autoOpen: false,
width: "900px",
modal: true,
draggable: true,
open: function (event, ui) {
$(this).load(url);
},
close: function (event, ui) {
$(this).dialog('close');
}
});
$("#dialog").dialog('open');
return false;
})
}
$("body").on("click", "#addItem", function (e) {
e.preventDefault();
var url = $(this).attr('href'), title = 'some title';
openDialog(title, url);
});
$("body").on("click", "#delItem", function (e) {
e.preventDefault();
var url = $(this).attr('href'), title = 'some title';
openDialog(title, url);
});
etc ...
但是当我尝试更改代码时,出现了一些错误。出现一个对话框。但是网址不起作用,对话框内容也是空的。
有人有答案吗?还是有另一种方法来实现它?
由于
====编辑====
我的坏。我为参数功能订了错误的订单。声明函数时的正确顺序是title
,然后是url
。难怪没有内容。现在,我的代码可以正常使用上面的可编辑代码。感谢。