第二个输入的最大输入?

时间:2014-07-16 09:47:17

标签: jquery html input max

我想知道,如何根据第一个输入限制输入。假设在第一个输入中输入了10。然后,不应允许第二个输入超过10。

<input type="number" id="a1" value=""/>
<input type="number" id="a2" value="" max=""/>

第一次,我想到了jQuery来设置max属性。但是,我无法设置max,只能设置输入值。谢谢

7 个答案:

答案 0 :(得分:1)

你可以这样做:

$('#a1').on('change input', function(){
    $('#a2').attr('max', this.value);
});

Demo


当您单击change input的向上/向下箭头时,会发生两个事件input[type="number"]更改输入,当您按任意键或粘贴某些值init时会发生输入。

答案 1 :(得分:0)

您可以这样使用:

$('#a1').on('change blur',function(){
   $('#a2').prop('max',this.value++);
});

working fiddle

答案 2 :(得分:0)

您必须侦听应用于#a1的更改并更新#a2的max属性。你可以使用jQuery,但Vanilla JS会做得很好(也更快)。

有一个问题。如果#a1的值为10,而#a2的值为9,则如果将#a1更改为较小的值,则必须决定如何处理#a2的值,如5。

答案 3 :(得分:0)

您可以执行以下操作:

 $(document).ready(function()
{
   $("#a2").attr('maxlength',$("#a1").attr("maxlength"));
});

然后听取a1 div的更改dom值,例如this

答案 4 :(得分:0)

尝试使用jQuery

$('#a1').on('change', function(){
    var two = $('#a2');
    two.attr('max',$(this).val());
});

jsFiddle

注意:如果您尝试使用输入中的up-down arrow进行增量(html 5属性)

答案 5 :(得分:0)

你可以在第二次输入的键盘事件。

$('#a2').on('keyup', function(){
    var v2=parseInt($(this).val()) || 0;
    var v1 =parseInt($('#a1').val()) || 0;
    if(v2 > v1){
        $(this).val('');
    }
});

DEMO

答案 6 :(得分:0)

您可以订阅更改'#a1'事件和onchange事件处理程序更改#a2的最大属性。

$( "#a1" ).change(function() {
  $('#a2').attr('max',$(this).val());
});