2015-09-11 14 views
-2

我有2个输入框用于开始和结束时间。我使用UIKit timepicker。当我尝试在开始时间更改时获得最接近的结束时间值时,它显示未定义。为什么是这样? 这里是我到目前为止的代码jQuery查找给出undefined

$('.start_time').on('change', function() { 
      var end = $(this).closest('div').find('.end_time').val(); 
      var start = $(this).val(); 
      alert(end); 
      if(end<=start){ 
       $(this).closest('div').find('.end_time').val(''); 
      } 
     }); 

这里是我的HTML的一部分(但不是完全的HTML代码)

<div class="uk-width-1-4 start-time-div"> 
             <label class="uk-form-label uk-display-block">Start Time</label> 
             <div class="uk-form-controls uk-clearfix"> 
              <div class="yn_formdatewrap"> 
               <div class="uk-form-icon uk-form-icon-flip uk-width-1-1"> 
                <i class="yash_icons yash-ion-android-time"></i> 
                <input type="text" name="start_time[]" placeholder="Start Time" data-uk-timepicker="{format:'12h'}" 
                class="uk-width-1-1 yn_formcommon yn_formtext timing-req start_time"> 
               </div> 
              </div> 
             </div> 
            </div> 

            <div class="uk-width-1-4 end-time-div"> 
             <label class="uk-form-label uk-display-block">End Time</label> 
             <div class="uk-form-controls uk-clearfix"> 
              <div class="yn_formdatewrap"> 
               <div class="uk-form-icon uk-form-icon-flip uk-width-1-1"> 
                <i class="yash_icons yash-ion-android-time"></i> 
                <input type="text" name="end_time[]" placeholder="End Time" data-uk-timepicker="{format:'12h'}" 
                class="uk-width-1-1 yn_formcommon yn_formtext timing-req end_time"> 
               </div> 
              </div> 
             </div> 
            </div> 

回答

2

.end_time在于最接近.start_time元素的父DIV div.stat-time-div的下一个兄弟股利。因此,你需要定位与end-time-div类下一格,然后找到结束日期是:

var end = $(this).closest('.start-time-div').next().find('.end_time').val();.val(); 

Working Demo

+0

号还是一样。 –

+0

@Corner:工作正常http://jsfiddle.net/gs90f0bu/ –

+0

对不起。我已经更新了这个问题。我有他们之间的其他几个div –