Javascript:输入更新后更新结果值

时间:2013-10-08 11:28:43

标签: javascript

我的脚本更新值有问题。例如: - 我有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();
    });

1 个答案:

答案 0 :(得分:0)

您没有包含标记,但javascript看起来是正确的。这fiddle似乎有效。

标记:

<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();
});