0

スクリプトの更新値に問題があります。例: -日時の値を保存するテキストフィールドが 2 つある -1 つ

私の問題は、テキストボックスの値を変更すると、最終価格が更新されないことです。テキストフィールドの値が変更されたときに価格結果を自動更新したい

ありがとう、

私のテストコードは次のとおりです。

<script>
     $(function () {
         $('#frompicker').datetimepicker();
         $('#topicker').datetimepicker();
     });

<script>
    $(document).ready(function () {
        function calculateTime() {
            //get values
            var parkingType = $("select[name='selectParking']").val();
            var valuestart = $("#frompicker").val();
            var valuestop = $("#topicker").val();


            //alert(valuestart);
            var timeStart = new Date(valuestart);
            var timeEnd = new Date(valuestop);

            var hourDiff = (timeEnd - timeStart) / 3600000;

            //alert(timeStart);


            if (parkingType == "2" || parkingType == "3") {
             if (hourDiff < 0 ) {
                $("p").html("<b>price:</b> " + "error" + "€");
            }

            else if (hourDiff >= 1 && hourDiff < 2) {
                $("p").html("<b>price:</b> " + "2" + "€");
            }

} }

        $("select").change(calculateTime);
        calculateTime();
    });

4

1 に答える 1

0

マークアップを含めませんでしたが、JavaScript は正しいように見えます。このフィドルはうまくいくようです。

マークアップ:

<select id="parkingType" name="selectParking">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<input id="frompicker" type="text"/>
<input id="topicker" type="text"/>

<p id="output"></p>

JavaScript:

$(function () {
    $('#frompicker').datetimepicker();
    $('#topicker').datetimepicker();
});

$(document).ready(function () {
    function calculateTime() {
        //get values
        var parkingType = $("select[name='selectParking']").val();
        var valuestart = $("#frompicker").val();
        var valuestop = $("#topicker").val();
        var timeStart = new Date(valuestart);
        var timeEnd = new Date(valuestop);
        var hourDiff = (timeEnd - timeStart) / 3600000;

        if (parkingType == "2" || parkingType == "3") {
            if (hourDiff < 0 ) {
                $("p").html("<b>price:</b> " + "error" + "€");
            } else if (hourDiff >= 1 && hourDiff < 2) {
                $("p").html("<b>price:</b> " + "2" + "€");
            }
        }
    }

    $("select").change(calculateTime);
    calculateTime();
});
于 2013-10-08T11:59:16.030 に答える