0

我的脚本更新值有问题。例如:-我有 2 个文本字段,我在其中存储日期时间值 -一个

我的问题是,当我更改文本框中的值时,最终价格没有更新。我希望在任何文本字段中的值发生变化时自动更新价格结果

谢谢,

我的测试代码是:

<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 回答