2
这里是我的代码,我有两个复选框,并希望保持一个被禁止,直到另一个被启用之前执行的默认操作函数在默认动作之前执行,并且当我在第一个点击$('#remember').is(':checked')
时返回false(旧值)而不是true。jQuery的。点击()自定义函数
这里是我的代码,我有两个复选框,并希望保持一个被禁止,直到另一个被启用之前执行的默认操作函数在默认动作之前执行,并且当我在第一个点击$('#remember').is(':checked')
时返回false(旧值)而不是true。jQuery的。点击()自定义函数
您可以使用change
事件,而不是:
$('#remember').live('change', function(event) {
if (this.checked) {
$('#keepIn').removeAttr('disabled');
} else {
$('#keepIn').attr('disabled', 'disabled');
}
});
DEMO:http://jsfiddle.net/jP3NY/
NB:live
方法已经过时了。您最好使用on
或delegate
。
的jQuery的较新版本的解决办法如下:
$('body').on('change', '#remember', function(event) {
$('#keepIn').prop('disabled', !this.checked);
});
而不是body
你可以使用任何#remember
父元素。
只需2美分布鲁夫请使用'.on'而不是'.live' :) –
谢谢,解决了它,我会尽我所能接受答案。 @Tats_innit在生活vs问题上,我尝试过,但.on方法不适用于我,请参阅此问题:http://stackoverflow.com/questions/11191966/jquery-triggerclick-not-working-with-jasmine -jquery – mornaner
@Tats_innit我们不知道jQuery的版本是什么; – VisioN