2012-02-26 64 views
0

我使用这个技术,AJAX加载到一个jQueryUI的对话框卸载阿贾克斯只是关闭jQuery UI的对话框

load ajax dialog technique

它工作正常

除了一本与我在我的实现

我有我已经把“完整”部分的计算...

options.complete = function(){ 
$("#quantity").bind("keyup", 
         function() { 
          var sum = 0; 
          price = $('#price').val(); 
          qty = $('#quantity').val(); 
          sum = price*qty; 

          $('.total').text(sum); 
});   
} 

每次第一次加载时工作正常。如果我刷新它就像一个魅力。

我甚至尝试过现场方法。

这样....

options.complete = function(){ 
$("#quantity").live("keyup", 
         function() { 
          var sum = 0; 
          price = $('#price').val(); 
          qty = $('#quantity').val(); 
          sum = price*qty; 

          $('.total').text(sum); 
});   
} 

使用活法,我得到了一些有趣的,如果我在函数的顶部提醒了警报(“这里”)。

每次我打开和关闭对话框,并更改数量i号获得尽可能多的警报时的我已经打开倍量和关闭对话框

即:打开和关闭对话框3倍我得到3个警报....打开它5次我得到5警报等等等

我需要知道的是,如果有一种方法可以从jQuery UI对话框中使用jQuery UI对话框完全卸载ajax beforeClose:方法。

在此先感谢。

斯科特

oops forgot to put this in as well... 

    "Cancel": function() { 
      $(this).dialog("destroy"); 
          } 

也不起作用。

回答

1

如果您使用像live()这样的委托方法,请将其称为其他事件处理程序之外,以便在其他事件多次出现时不会重复绑定。 Live甚至不需要在$(document).ready()中调用,因为它被委托给文档。

+0

非常感谢。就是这样。那让我蝙蝠疯狂 – smugford 2012-02-26 03:09:59

0

听起来像你需要在关闭它之后的对话框destroy()

+0

谢谢你,但我也试过了....我已编辑帖子,以反映什么附加到“取消”按钮。 – smugford 2012-02-26 02:48:06