2011-06-11 91 views
0

我有一个默认为禁用的按钮。从jQuery UI自动完成中选择一个项目后,我想启用该按钮。无法绑定jQuery UI自动完成中的点击事件

我测试,如果这个工程由按钮使用警报:

jQuery('#btn').live('click', function() { alert('test'); }); 

首先我想这个解决方案:

jQuery('.autocomplete_brand').live('autocompleteselect', function(event, ui){ 
     jQuery('#btn').removeClass('inactive').attr('disabled',''); 
}); 

这使按钮,但当时我提醒这将不起作用,因为.live只适用于click事件。所以我将代码更改为:

jQuery('.ui-menu-item a').live('click', function() { 
    jQuery('#btn').removeClass('inactive').attr('disabled',''); 
}); 

这几乎可行。 disable属性被禁用,但当单击该按钮时警报仍不会触发。

那么我在这里错过了什么?

回答

1

您使用的是什么版本的jQuery?以下:

这使按钮,但后来我 被提醒,这是行不通的,因为 .live仅适用于点击 事件。

不是为> = 1.44真(甚至在这之前编辑可能是真实版本:我几乎可以肯定,这将与> = 1.3,当加入live工作)。

你可以做什么你试图用autocompleteselect事件做:如果你正在使用jQuery> = 1.6,但是,你要使用

jQuery('.autocomplete_brand').live('autocompleteselect', function(event, ui){ 
     jQuery('#btn').removeClass('inactive').attr('disabled',''); 
}); 

prop

jQuery("#btn").removeClass("inactive").prop("disabled", false); 

这正在使用jQuery 1.6:

http://jsfiddle.net/wGH32/

+0

我使用的是1.8x。我认为'道具'是问题。使用它,它现在可以工作。谢谢! :) – Steven 2011-06-11 19:54:33

+0

@Steven:没问题! :) – 2011-06-11 19:55:05