$(文件).ready已停止工作

时间:2011-11-10 11:03:24

标签: javascript jquery

<script type="text/javascript">
$(document).ready(function() {
    alert("test");                         
    document.getElementById("currentemp").onclick = disableThem;
});
function disableThem(){
    if (document.getElementById("currentemp").checked)  {
        document.getElementById("edate_m").disabled = true;
        document.getElementById("edate_y").disabled = true;
    } 
    else {
        document.getElementById("edate_m").disabled = false;
        document.getElementById("edate_y").disabled = false;
    }
}
$(function(){
    alert("test2");        
    if (document.getElementById("currentemp").checked)  {
        document.getElementById("edate_m").disabled = true;
        document.getElementById("edate_y").disabled = true;
    } 
    else {
        document.getElementById("edate_m").disabled = false;
        document.getElementById("edate_y").disabled = false;
    }
});
</script>

您好。几个星期前,这个脚本正在运行。现在我注意到它已停止工作,即使我没有改变它。通常当我的javascript停止工作时,因为我有大量的JavaScript,有时功能交叉相互。但是我已经放入警报框,它似乎甚至没有加载它。

有任何调试的想法吗?

2 个答案:

答案 0 :(得分:3)

  1. 将自定义函数放在document.ready之前,以防万一。
  2. 您不需要两个就绪功能。
  3. 确保页面中的元素可用且选择器有效。
  4. 以下是您的简化代码:

    function disableThem() {
        var state = $("#currentemp").is(":checked");
        $("#edate_m").attr("disabled", state);
        $("#edate_y").attr("disabled", state);
    }
    
    $(function() {
        disableThem();
        $("#currentemp").onclick = disableThem;
    });
    

答案 1 :(得分:0)

你的示例适用于我:http://jsfiddle.net/manuel/KXCM3/

你确定加载了jquery吗?是以下代码true

alert(jQuery !== undefined);