我想知道,如何根据第一个输入限制输入。假设在第一个输入中输入了10
。然后,不应允许第二个输入超过10。
<input type="number" id="a1" value=""/>
<input type="number" id="a2" value="" max=""/>
第一次,我想到了jQuery来设置max
属性。但是,我无法设置max
,只能设置输入值。谢谢
答案 0 :(得分:1)
你可以这样做:
$('#a1').on('change input', function(){
$('#a2').attr('max', this.value);
});
当您单击change input
的向上/向下箭头时,会发生两个事件input[type="number"]
更改输入,当您按任意键或粘贴某些值init时会发生输入。
答案 1 :(得分:0)
您可以这样使用:
$('#a1').on('change blur',function(){
$('#a2').prop('max',this.value++);
});
答案 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());
});
注意:如果您尝试使用输入中的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('');
}
});
答案 6 :(得分:0)
您可以订阅更改'#a1'事件和onchange事件处理程序更改#a2的最大属性。
$( "#a1" ).change(function() {
$('#a2').attr('max',$(this).val());
});