jQuery 找到未定义的

jQuery find gives undefined

我有 2 个开始时间和结束时间的输入框。我使用 UIKit 时间选择器。当我尝试在开始时间更改时获取最接近的结束时间值时,它显示未定义。为什么会这样? 到目前为止,这是我的代码

$('.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>

.end_time 位于 .start_time 元素的下一个兄弟 div 最接近父元素 div div.stat-time-div。因此,您需要将下一个 div 与 class end-time-div 作为目标,然后在其中找到结束日期:

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

Working Demo