Javascript 乘变不报警

Javascript 乘变不报警,javascript,Javascript,我有一个脚本,它从输入字段调用变量值并将它们相乘, 在我的函数没有执行的那一刻,我也没有收到任何警报,我想这是因为我的if语句,有人能看到哪里出了问题吗 function Calculate() { var ContentMinutes = document.getElementById ("ContentMinutes").value; var ContentMinutesSelect = document.getElementById('ContentMinutesDD')

我有一个脚本,它从输入字段调用变量值并将它们相乘, 在我的函数没有执行的那一刻,我也没有收到任何警报,我想这是因为我的if语句,有人能看到哪里出了问题吗

function Calculate() {

    var ContentMinutes = document.getElementById ("ContentMinutes").value;
    var ContentMinutesSelect = document.getElementById('ContentMinutesDD')
        .options[document.getElementById('ContentMinutesDD').selectedIndex].value

    if (ContentMinutesSelect == 0.0166)
    {
        var RenderingHours = 10;
        var VideoHours = 5;
        var VideoSeconds = 1;
        document.getElementById("RenderHours").innerHTML=RenderingHours;
        document.getElementById("VideoHours").innerHTML=VideoHours;
        document.getElementById("VideoSeconds").innerHTML=VideoSeconds;
    }
    else if (ContentMinutesSelect == 0.0003)
    {
        var RenderingHours = 1540;
        var VideoHours = 54;
        var VideoSeconds = 1;
        document.getElementById("RenderHours").innerHTML=RenderingHours;
        document.getElementById("VideoHours").innerHTML=VideoHours;
        document.getElementById("VideoSeconds").innerHTML=VideoSeconds;
    }
    else
    {
        var RenderingHours = 6410;
        var VideoHours = 345;
        var VideoSeconds = 124;
        document.getElementById("RenderHours").innerHTML=RenderingHours;
        document.getElementById("VideoHours").innerHTML=VideoHours;
        document.getElementById("VideoSeconds").innerHTML=VideoSeconds;
    }


    var NoOfFrames = document.getElementById ("NoOfFrames").value;
    //var EstimatedCoreHours = document.getElementById ("EstimatedCoreHours").value;
    var ServiceLevel = document.getElementById('SerivceLevelDD')
        .options[document.getElementById('SerivceLevelDD').selectedIndex].value;
    var RenderHours = 1;
    var CoresInTest = document.getElementById ("CoresInTest").value;

    var EstimatedCoreHours =  GetNumeric(NoOfFrames) 
        * GetNumeric(RenderingHours) 
        * GetNumeric(CoresInTest);

    var EstimatedTotal =  GetNumeric(ServiceLevel) 
        * GetNumeric(EstimatedCoreHours);

    alert('Estimated Cost = '
        +EstimatedTotal.toFixed(2)
        + 'Estimated Core Hours = '
        +EstimatedCoreHours);

    document.getElementById("EstimatedCoreHours").innerHTML = 
         EstimatedCoreHours.toFixed(2);
    document.getElementById("EstimatedTotal").innerHTML = 
         EstimatedTotal.toFixed(2);

    document.getElementById("EstimatedCoreHours").style.backgroundColor="yellow";
    document.getElementById("EstimatedTotal").style.backgroundColor="yellow";
}

function GetNumeric(val) {

    if (isNaN(parseFloat(val))) {
        return 0;
    }
    return parseFloat(val);
}
如果contentMinuteSelects==0.0166,我想当您执行.value时,您将得到字符串结果

所以你的比较应该是


如果ContentMinutesSelect==0.0166

如果代码前面的任何一行导致错误,例如文档中没有id为“ContentMinutes”的元素,则代码将不显示任何警报。最好的调试方法是使用firebug之类的工具,或者您可以随时输入一组警报,找出错误所在。

尝试将代码粘贴到文本区域,然后单击“jslint”。如果您将代码减少到再现错误的最小值,这将非常有帮助。在这样做的过程中,您通常会找到解决方案。如果我们不知道ContentMinutesSelect的值是多少,我们就无法检查问题出在哪里。。。你能给我们一个链接到你正在尝试的页面吗?似乎不起作用,我想不出为什么脚本不起作用。如果一个表达式是数字,equals操作符将强制另一个表达式为数字。