我将网站从一个位置移动到另一个位置。但是我注意到,当我移动它时,我的java脚本中的一些项目停止工作。我一直想弄清楚哪里出了问题,但这是我最后的选择。这是我的小提琴网站:
http://jsfiddle.net/robertpurpose/FCZVJ/6/
if ($("#Deg0").attr('checked') && $("#Res0").attr('checked')) {
$("#TuitionPerHour").val(202.83);
}
if ($("#Deg0").attr('checked') && $("#Res1").attr('checked')) {
$("#TuitionPerHour").val(202.83);
}
if ($("#Deg0").attr('checked') && $("#Res11").attr('checked')) {
$("#TuitionPerHour").val(202.83);
}
if ($("#Deg0").attr('checked') && $("#Res2").attr('checked')) {
$("#TuitionPerHour").val(parseFloat(243.39).toFixed(2));
}
if ($("#Deg0").attr('checked') && $("#Res3").attr('checked')) {
$("#TuitionPerHour").val(parseFloat(304.24).toFixed(2));
}
随意变得像你想要的那样生硬。我们都生活和学习。我将一切都视为一种学习经历
答案 0 :(得分:1)
问题是您使用的是$.attr('checked')
。用于返回布尔值,但现在返回属性值(字符串)'checked'
。 HTML - Why boolean attributes do not have boolean value?
所以你的支票
if ($("#Deg1").prop('checked')) {
$("#TuitionPerHour").val(294.44);
}
总是过世。将您的所有$.attr
更改为$.prop
至http://jsfiddle.net/FCZVJ/7/
您的代码的其他问题
updateTotal
是全局的$("#Deg0")
一百万次)eval(document.CostEst.FoodPlan[TheIndex_FoodPlan].value));
Crapola,使用eval将字符串转换为数字?使用parseInt()
或parseFloat
$("#SemesterHours").val() <= 7
因自动强制而有效,但请注意,如果它说$("#SemesterHours").val() <= $('#somethinElse').val()
您正在比较字符串和"17" > "9" === false
。parseFloat(243.39).toFixed(2)
是眼睛酸痛(代码味)。你曾向parseFloat
询问已经浮动的东西。你可能这样做是因为你想调用它上面的固定而你不能只使用243.39.toFixed()
。您应该使用Number(243.39).toFixed()
或(243.39).toFixed()