Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从下拉列表中拾取后触发更改事件_Javascript_Jquery_Timepicker - Fatal编程技术网

Javascript 从下拉列表中拾取后触发更改事件

Javascript 从下拉列表中拾取后触发更改事件,javascript,jquery,timepicker,Javascript,Jquery,Timepicker,我有一个JQuery时间选择器,定义为 <div class="form-group"> <label class="col-xs-4 col-md-3 control-label" align="right"> <div class="pull-right">{{ jc_settings_form.meeting_time.label() }}</div> </label> <div

我有一个JQuery时间选择器,定义为

<div class="form-group">  
    <label class="col-xs-4 col-md-3 control-label" align="right">
        <div class="pull-right">{{ jc_settings_form.meeting_time.label() }}</div>
    </label>
    <div class='col-xs-8 col-md-9 dateContainer' style="max-width:200px">
        <div class='input-group input-append date'>
            <input type="select" class="form-control timepicker" name="meeting_time" id="meeting_time"/>
        </div>
    </div>
</div>
出于任何原因,如果我从timepicker下拉列表中选择时间,它甚至不会触发更改,因此也不会验证表单?如果我点击文本字段并手动更改时间,是否会触发更改? 这是我的计时器初始化

(function($) {
    $(function () {
        $('#meeting_time').timepicker({
            defaultTime: '{{ jc_settings_form.meeting_time.default }}',
            dropdown: true,
            scrollbar: true,
            startTime: '9:00 am',
            timeFormat: 'h:mm a', // equivalent to 'h:mm a'
            interval: 5 //Number of minutes the up/down arrow's will move the minutes value in the time picker
        });
    });
})(jQuery);

知道如何强制它触发变更事件吗?我想也许我必须更改输入字段的type=“text”属性?

从你的帖子中不完全清楚你想做什么。如果您希望在每次从下拉列表中选择不同的is选项时验证表单,您可能希望尝试使用
onchange
,如下所示:


我也会考虑尽可能远离jQuery,因为你最终会发现它的语法糖会导致比它解决的更多的问题(更不用说它延长了页面加载时间)。

你可以在jQuery TimePoCurter这样的更改事件上运行一个函数:

(function($) {
    $(function () {
        $('#meeting_time').timepicker({
            defaultTime: '{{ jc_settings_form.meeting_time.default }}',
            dropdown: true,
            scrollbar: true,
            startTime: '9:00 am',
            timeFormat: 'h:mm a', // equivalent to 'h:mm a'
            interval: 5,
            change: function(time) {
                alert('things changed');        
            }
        });
    });
})(jQuery);

您有没有其他计时器的建议?我环顾四周,但不确定该选哪一个……我个人只会手工写一个。这可能是你的选择,也可能不是。你使用的是像React或Angular这样的前端框架吗?我使用的是flask。。。我的javascript不够好,无法编写这个myselfFlask是一个后端框架,所以你可能只是在前端使用香草javascript(没有框架)。。。我不得不说,我正试图摆脱jquery,但我的项目现在与它交织在一起,这是非常困难和耗时的…谢谢,这似乎奏效了。。。您知道如何防止在页面加载过程中触发更改事件吗?请尝试将所有jQuery放在。
(function($) {
    $(function () {
        $('#meeting_time').timepicker({
            defaultTime: '{{ jc_settings_form.meeting_time.default }}',
            dropdown: true,
            scrollbar: true,
            startTime: '9:00 am',
            timeFormat: 'h:mm a', // equivalent to 'h:mm a'
            interval: 5,
            change: function(time) {
                alert('things changed');        
            }
        });
    });
})(jQuery);