【问题标题】:Passing form input to jQuery as a variable (to prompt a value)将表单输入作为变量传递给 jQuery(提示值)
【发布时间】:2016-10-04 14:32:03
【问题描述】:

我有一个表单,用户可以在其中输入事件的开始时间和结束时间(例如格式为 HH:mm,例如 16:45)。

<form action="time.php" method="POST">
    <input type="text" name="start" /></td>
    <input type="text" name="end" /></td>
    <input type="submit" name="submit" value="submit" />
</form>

我想自动提示结束时间的值,该值取决于作为开始时间输入的值。 假设我想提示一个比开始时间晚 100 分钟的值(变量 $endTime)。

我正在尝试使用 jquery:

<script>
$(document).ready(function(){
    $('input[name="start"]').change(function() {
        $('input[name="end"]').val("<?php echo $endTime ;?>");
    });
});
</script>

上面脚本的问题是input[name="start"] 应该被存储为一个变量,以便相应地计算$endTime。 也许你有一个建议。

【问题讨论】:

    标签: jquery forms variables input


    【解决方案1】:

    您可以使用 jquery 本身设置结束输入,而无需使用变量。

    <script>
    $(document).ready(function(){
        $('input[name="start"]').change(function() {
            $('input[name="end"]').val(computeEndTime($('input[name="start"]').val()));
        });
    function computeEndTime(start){
        var hourstart = start.substr(0, start.indexOf(':'));
        var minutestart = start.substr(start.indexOf(":") + 1);
        var total = hourstart * 60 + minutestart + 100;
    
        var minutes = total%60;
        var hours = (total - minutes) / 60;
        return hours + ":" + minutes;
    }
    });
    </script>
    

    【讨论】:

    • 如何在 jQuery 中实现该计算?
    • 添加计算逻辑!
    • 谢谢。我认为它需要一些调整。如果输入开始时间09:00,脚本会提示900001:40作为结束时间。
    • 在执行数学函数之前必须将子字符串转换为 int
    • var hourstart = parseInt(ini.substr(0, ini.indexOf(':'))); 和 var minutestart = parseInt(ini.substr(ini.indexOf(":") + 1));
    猜你喜欢
    • 2018-12-01
    • 2011-09-07
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 2018-11-15
    • 2012-10-03
    • 2021-02-07
    • 2023-03-03
    相关资源
    最近更新 更多