以下两个函数(除了它们应该运行时相同)都在$(document).ready
中。 .live
版本按预期工作,选中选择器时隐藏2个div,并在取消选中时显示它们。 .ready
版本什么都不做,但它应该在加载页面时隐藏指定的div。默认情况下会选中“allday”复选框(用于测试目的)。
.ready
版本有什么问题?
$("input[name='allday']").ready(function(){ //OnLoad verify if allday is checked to disallow time entry
if($(this).is(":checked")){ //There is a check
$("#evst").hide(); //hide time entry
$("#evet").hide();
} else {
$("#evst").show();
$("#evet").show();
};
});
$("input[name='allday']").live("click", function(){ //OnClick verify if allday is checked to disallow time entry
if($(this).is(":checked")){ //There is a check
$("#evst").slideUp(); //hide time entry
$("#evet").slideUp();
} else {
$("#evst").slideDown();
$("#evet").slideDown();
};
});
答案 0 :(得分:3)
使用.ready $(this)
时不会引用正确的元素 - 将其更改为$("input[name='allday']")