首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法控制一个数字输入的增量事件,或使两个数字输入一起工作?

问有没有办法控制一个数字输入的增量事件,或使两个数字输入一起工作?
EN

Stack Overflow用户
提问于 2015-01-31 21:44:17
回答 1查看 567关注 0票数 3

我正在开发一个网站,通过要求用户指定预订的开始和结束时间,使用数字输入获取预订的持续时间。我想以一种不让用户选择比启动时间更早的结束时间的方式来限制输入字段,反之亦然。我在JavaScript中成功地做到了这一点,但以这种方式,您需要增加结束时间值,以便能够增加开始时间的值,而且我认为这不是一个好的实践。例如,如果第一个字段的值为8,并且限制为小于第二个字段的值( 9 ),则只要不增加第二个字段的值,我就无法增加第一个数字输入的值。

所以,我想控制第一个输入字段的增量事件(或者它称为什么),这样我也可以增加第二个输入字段的值,当第一个输入字段的值与第二个输入字段的值完全相等时。我知道这种类型的输入字段还没有太多的支持,但是有什么方法吗?

代码语言:javascript
复制
max = parseInt(endtime.value, 10) - 1;
min = parseInt(starttime.value, 10) + 1;
starttime.setAttribute('max', max);
endtime.setAttribute('min', min);

这是限制两个数字输入字段的JavaScript代码。但不幸的是,我无法编写任何代码,在增加第一个字段时增加第二个字段的值,或者在降低第二个字段值时降低第一个字段的值。当我按下数字输入字段的向上/向下箭头时,我找不到任何关于事件触发的示例或信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-31 23:30:44

有点凌乱:-)而且很有可能是可以改进的,但是要做好(如果我完全理解这个问题)。增加了基本的验证,但是可以用任何东西代替。

代码语言:javascript
复制
<input id="start" min="0" max="23" class="txt" type="number" value="0"/>
<input id="end" min="0" max="23" class="txt" type="number" value="1"/>

jQuery

代码语言:javascript
复制
$('.txt').keyup(function(){
    checkit($(this));
}).change(function(){
    checkit($(this));
});

function checkit(el){
    var txt = el.val(),
        el2 = $('.txt').not(el),
        txt2 = el2.val(),
        id   = el.attr('id');
    if(!$.isNumeric(txt)){
        el.val(0);
        return checkit(el);
    }
    var t  = parseInt(txt),
        t2 = parseInt(txt2);
    if(t > 23 || t < 0) {
        el.val(0);
        return checkit(el); 
    }
    var c  = (id == 'end') ? 
             (t <= t2 ? (t <= 0 ? 0 : 
             (t <= 0 ? 1 : t-1)) : t2) : 
             (t >= t2 ? (t >= 23 ? 23 : 
             (t >= 23 ? 22 : t+1)) : t2),
         s = ((c == 0 && id == 'end' && t == 0) ? 1 : 
             ((c == 23 && id == 'start' && t == 23) ? 22 : t));

    el.val(s);
    el2.val(c);
}

JSFiddle

JSFiddle (扩展,w/引导)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28256860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档