Javascript : $(“#time#u from,#time#u from,#am#u pm,#time#u to,#time#u to#u am#pm”)。打开('change',函数(e){ var timeFrom=时刻($(“#time_from option:selected”)。text() $(“#time_from_am_pm option:selected”).text(),“HH:mma”); var timeTo=moment($('#time_to option:selected')。text()+ $(“#time_to_am_pm option:selected”).text(),“HH:mma”); var dif=时间差(timeFrom); if(dif

Javascript : $(“#time#u from,#time#u from,#am#u pm,#time#u to,#time#u to#u am#pm”)。打开('change',函数(e){ var timeFrom=时刻($(“#time_from option:selected”)。text() $(“#time_from_am_pm option:selected”).text(),“HH:mma”); var timeTo=moment($('#time_to option:selected')。text()+ $(“#time_to_am_pm option:selected”).text(),“HH:mma”); var dif=时间差(timeFrom); if(dif,javascript,jquery,forms,Javascript,Jquery,Forms,})) 片段: $(“#time#u from,#time#u from,#am#u pm,#time#u to,#time#u to#u am#pm”)。打开('change',函数(e){ var timeFrom=moment($(“#time_from option:selected”).text()+$(“#time_from_am_pm option:selected”).text(),“HH:mma”); var timeTo=moment($(“#time_-to-option

}))

片段:

$(“#time#u from,#time#u from,#am#u pm,#time#u to,#time#u to#u am#pm”)。打开('change',函数(e){
var timeFrom=moment($(“#time_from option:selected”).text()+$(“#time_from_am_pm option:selected”).text(),“HH:mma”);
var timeTo=moment($(“#time_-to-option:selected”).text()+$(“#time_-to-am\u-pm option:selected”).text(),“HH:mma”);
var dif=时间差(timeFrom);
if(dif<0){
timeTo=timeTo.add(1,'天');
dif=时间差(timeFrom);
}
var d=力矩持续时间(dif);
var result=+d.get('hours')+(+d.get('minutes')/60);
$('[name=“booking_duration”]').val(结果);
});

发件人:
1:00
1:30
2:00
2:30
3:00
3:30
4:00
4:30
5:00
5:30
6:00
6:30
7:00
7:30
8:00
8:30
9:00
9:30
10:00
10:30
11:00
11:30
12:00
12:30
下午
是
致:
1:00
1:30
2:00
2:30
3:00
3:30
4:00
4:30
5:00
5:30
6:00
6:30
7:00
7:30
8:00
8:30
9:00
9:30
10:00
10:30
11:00
11:30
12:00
12:30
下午
是
持续时间:

看起来像是它的家庭作业。将时间转换为秒,然后减去它。我正在为一个网站创建一个预订表单,我不,它没有那么复杂,只是希望有更好的jquery/javascript经验的人,然后我可以为这个尝试提供最好的解决方案。它可能会像它的家庭作业一样有用。将时间转换为秒并减去它,我正在为一个网站创建一个预订表单,我不,它没有那么复杂,只是希望在jquery/javascript方面有更好经验的人,然后我可以为这个尝试提供最好的解决方案可能会有帮助什么是“mementjs”?@Jhecht抱歉。这是我的打字错误。只是一个很小的问题,比如说有人选择晚上11点到凌晨3点,也就是4个小时?我们需要向前计算,而不是返回负值什么是“mementjs”?@Jhecht抱歉。这是我的打字错误。只是一个很小的问题,比如说有人选择晚上11点到凌晨3点,也就是4个小时?我们需要向前计算,而不是返回一个负值,-6的结果仍然是一个重要的结果。也许你应该使用
returnmath.abs(d)
?@IsmaelMiguel是的,如果你不关心
时间从
的时间顺序,-6的结果仍然是一个重要的结果,那么你可以使用
Math.abs(d)
。也许你应该使用
returnmath.abs(d)
?@IsmaelMiguel是的,如果你不关心
时间从
到的时间顺序,你可以使用
数学.abs(d)
<div class="row">

<div class="col-lg-2"></div>
<div class="col-lg-10">

    <div class="col-md-6">
        <div class="row">
            <label class="control-label col-lg-2 text-semibold">From:</label>
            <div class="col-lg-5 pr-20">
                <div class="form-group">
                    <select id="time_from" name="time_from" class="form-control">
                        <option value="1">1:00</option>
                        <option value="130">1:30</option>
                        <option value="2">2:00</option>
                        <option value="230">2:30</option>
                        <option value="3">3:00</option>
                        <option value="330">3:30</option>
                        <option value="4">4:00</option>
                        <option value="430">4:30</option>
                        <option value="5">5:00</option>
                        <option value="530">5:30</option>
                        <option value="6">6:00</option>
                        <option value="630">6:30</option>
                        <option value="7">7:00</option>
                        <option value="730">7:30</option>
                        <option value="8">8:00</option>
                        <option value="830">8:30</option>
                        <option value="9">9:00</option>
                        <option value="930">9:30</option>
                        <option value="10">10:00</option>
                        <option value="1030">10:30</option>
                        <option value="11">11:00</option>
                        <option value="1130">11:30</option>
                        <option value="12">12:00</option>
                        <option value="1230">12:30</option>
                    </select>
                </div>
            </div>

            <div class="col-lg-5 pr-20">
                <div class="form-group">
                    <select id="time_from_am_pm" name="time_from_am_pm" class="form-control">
                        <option value="pm">pm</option>
                        <option value="am">am</option>
                    </select>
                </div>
            </div>
        </div>
    </div>

    <div class="col-md-6">
        <div class="row">
            <label class="control-label col-lg-2 pl-20 text-semibold">To:</label>
            <div class="col-lg-5 pr-20">
                <div class="form-group">
                    <select id="time_to" name="time_to" class="form-control">
                        <option value="1">1:00</option>
                        <option value="130">1:30</option>
                        <option value="2">2:00</option>
                        <option value="230">2:30</option>
                        <option value="3">3:00</option>
                        <option value="330">3:30</option>
                        <option value="4">4:00</option>
                        <option value="430">4:30</option>
                        <option value="5">5:00</option>
                        <option value="530">5:30</option>
                        <option value="6">6:00</option>
                        <option value="630">6:30</option>
                        <option value="7">7:00</option>
                        <option value="730">7:30</option>
                        <option value="8">8:00</option>
                        <option value="830">8:30</option>
                        <option value="9">9:00</option>
                        <option value="930">9:30</option>
                        <option value="10">10:00</option>
                        <option value="1030">10:30</option>
                        <option value="11">11:00</option>
                        <option value="1130">11:30</option>
                        <option value="12">12:00</option>
                        <option value="1230">12:30</option>
                    </select>
                </div>
            </div>

            <div class="col-lg-5 pr-20">
                <div class="form-group">
                    <select id="time_to_am_pm" name="time_to_am_pm" class="form-control">
                        <option value="pm">pm</option>
                        <option value="am">am</option>
                    </select>
                </div>
            </div>
        </div>
    </div>

</div>

</div>

<div class="form-group">
<label class="control-label col-lg-2 text-semibold">Duration:</label>
<div class="col-lg-10">
    <input type="text" name="booking_duration" class="form-control">
</div>
</div>
//this returns duration in hours
var calculateDuration = function(timefrom,timeto){
      var d = (timeto.getTime()-timefrom.getTime())/60000;
      return d<0?0:d;
}
$('#time_from, #time_from_am_pm, #time_to, #time_to_am_pm').on('change', function(e) {
  var timeFrom = moment($('#time_from option:selected').text() + 
              $('#time_from_am_pm option:selected').text(), 'HH:mma');
 var timeTo = moment($('#time_to option:selected').text() + 
              $('#time_to_am_pm option:selected').text(), 'HH:mma');
 var dif = timeTo.diff(timeFrom);
 if (dif < 0) {
    timeTo = timeTo.add(1, 'days');
    dif = timeTo.diff(timeFrom);
 }
 var d = moment.duration(dif);
 var result = +d.get('hours') + (+d.get('minutes') / 60);
 $('[name="booking_duration"]').val(result);