Javascript 如何在一个函数调用中组合jQuery UI对话框标题更改和打开

Javascript 如何在一个函数调用中组合jQuery UI对话框标题更改和打开,javascript,jquery,jquery-ui,jquery-dialog,Javascript,Jquery,Jquery Ui,Jquery Dialog,我有一个案例需要更新jQuery UI的标题 每当双击表格单元格时,都会显示带有零件号的对话框。 标题将从表格单元格的值本身获得 下面这段来自实际代码的代码片段是有效的,但它就是不起作用 对我来说似乎是正确的,因为我必须调用对话函数两次:(1) 要更改标题,请执行以下操作:(2)打开对话框 有没有更好的方法将这两种操作与对 .dialog() JS片段 //对话框声明 变量my_dlg=$('') .html( “富吧” ) .对话({ 自动打开:错误, 标题:“默认标题”, 莫代尔:对 });

我有一个案例需要更新jQuery UI的标题 每当双击表格单元格时,都会显示带有零件号的对话框。 标题将从表格单元格的值本身获得

下面这段来自实际代码的代码片段是有效的,但它就是不起作用 对我来说似乎是正确的,因为我必须调用对话函数两次:(1) 要更改标题,请执行以下操作:(2)打开对话框

有没有更好的方法将这两种操作与对 .dialog()

JS片段

//对话框声明
变量my_dlg=$('')
.html(
“富吧”
)
.对话({
自动打开:错误,
标题:“默认标题”,
莫代尔:对
});
//事件处理程序
$('td.part').live('dblclick',function()){
$(my_dlg)
.dialog('option','title',$(this).text())
.对话框(“打开”);
});
HTML代码片段


AB123456
GX443459
SK555455

这是正确的/唯一的方法,因为您有两个事件,一个是打开对话框本身,另一个是单击表格单元格。这也是在实例化jQueryUI对话框后更改该对话框中任何选项的正确方法


您所做的唯一不必要的事情就是在第二次使用它时,将
my_dlg
卡在
$()
中,它不需要这样做,因为它已经是jQuery对象了。

这是调用小部件方法的标准方法。给定小部件(
对话框
在您的例子中)公开的所有方法都被桥接到小部件名称下的
$.fn
,以便它们可以应用于jQuery对象

但是,如果要避免重复调用
dialog()
,可以获取对小部件实例的引用并直接调用其方法:

my_dlg.data("dialog").option("title", $(this).text()).open();

我试过类似的方法,但没有用。当我到商店的时候,我得再看看这个。与双方法调用相比,这种构造有什么明显的优势吗?@jtp,它可能会快一点,因为小部件实例只获取一次,并且避免了方法桥,但这可能不会引起注意。