繁体   English   中英

使用jquery在html5中动态更改`max`或`min`

[英]Change `max` or `min` dynamically in html5 with jquery

我在<input type='number'>更改了max问题。 这是我的示例代码:

 $(document).ready(function(){ var total = 5; $(.foo).attr('max', total); $(.bar).attr('max', total); $(.ext).attr('max', total); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> <input type='number' name='foo' class='foo'> <br> <input type='number' name='bar' class='bar'> <br> <input type='number' name='ext' class='ext'> </body> 

如何使max必须不>总?

例如:如果我在foo上输入2并在bar上输入1,则ext上的值不得大于2。

谢谢

正如Chris的评论中所提到的,它应该是'.foo'而不是.foo 另外作为简写,您可以将它们放在如下所示的单个语句中,如$('.foo, .bar, .ext')如果它们具有相同的max

 $(document).ready(function(){ var total = 5; $('.foo, .bar, .ext').attr('max', total); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> <form action="http://stackoverflow.com"> <input type='number' name='foo' class='foo'> <br> <input type='number' name='bar' class='bar'> <br> <input type='number' name='ext' class='ext'> <br> <input type='submit' value='Submit' > </form> </body> 

我假设您要将三个输入的任意组合的总和限制为5.这是一种方法:

 $(document).ready(function(){ var total = 5; var remain; var $foo = $("#foo"); var $bar = $("#bar"); var $ext = $("#ext"); recalculateMax = function(el) { switch (el) { case $foo[0]: remain = total - $bar.val() - $ext.val(); remain = remain < 0 ? 0 : remain $foo.val(($foo.val() <= remain) ? $foo.val() : remain); break; case $bar[0]: remain = total - $foo.val() - $ext.val(); remain = remain < 0 ? 0 : remain $bar.val(($bar.val() <= remain) ? $bar.val() : remain); break; case $ext[0]: remain = total - $foo.val() - $bar.val(); remain = remain < 0 ? 0 : remain $ext.val(($ext.val() <= remain) ? $ext.val() : remain); break; } } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> <input id="foo" type='number' name='foo' onChange="recalculateMax(this)"> <br> <input id="bar" type='number' name='bar' onChange="recalculateMax(this)"> <br> <input id="ext" type='number' name='ext' onChange="recalculateMax(this)"> </body> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM