0

サイトをある場所から別の場所に移動しました。しかし、移動すると、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));
}

好きなだけ率直に言ってください。私たちは皆、生きて学びます。私はすべてを学習経験と捉えています

4

1 に答える 1

1

問題は、あなたが使用していることです$.attr('checked')。以前はブール値を返していましたが、現在は属性値 (string) を返します'checked'HTML - ブール属性にブール値がないのはなぜですか?

だからあなたの小切手

if ($("#Deg1").prop('checked')) {
    $("#TuitionPerHour").val(294.44);
}

いつも通っています。$.attrすべてをhttp://jsfiddle.net/FCZVJ/7/$.propに変更します

コードに関するその他の問題

  • あなたのjsfiddle JSは頭の中にある必要があるので、あなたの関数updateTotalはグローバルです
  • jQuery 変数を保存します ( $("#Deg0")100 万回呼び出しています)
  • 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すでにフロートになっているものを要求しています。あなたはおそらく toFixed を呼び出したいと思っていたので、単に使用することはできません243.39.toFixed()Number(243.39).toFixed()またはのいずれかを使用する必要があります(243.39).toFixed()
于 2013-02-07T18:20:15.453 に答える