Javascript 多个输入字段的限制和值
我需要一些关于javascript或jQuery的帮助 我有三(3)个要过滤的输入字段(三个字段的总和) 3个输入字段的总值必须为100。如果用户填写的内容超过100,则会自动更改总计为100的值Javascript 多个输入字段的限制和值,javascript,jquery,Javascript,Jquery,我需要一些关于javascript或jQuery的帮助 我有三(3)个要过滤的输入字段(三个字段的总和) 3个输入字段的总值必须为100。如果用户填写的内容超过100,则会自动更改总计为100的值 $(document).ready(function(){ $('input[name="text2"]').blur(function(){ $('input[name="text3"]').val(100 - $('input[nam
$(document).ready(function(){
$('input[name="text2"]').blur(function(){
$('input[name="text3"]').val(100 - $('input[name="text1"]').val() - $('input[name="text2"]').val());
});
});
你可以看到
text1
text2
text3
以上3个字段的最大值为100
$(document).ready(function(){
$('input[name="text2"]').blur(function(){
$('input[name="text3"]').val(100 - $('input[name="text1"]').val() - $('input[name="text2"]').val());
});
});
例1:
正文1:20;
文本2:30;
文本3:50;(将自动填入50,因为总值必须为100)
例2:
正文1:37;
文本2:60;
文本3:3;(将自动填入3,因为总值必须为100)
谢谢你帮助我,
我需要它:)这是我能想到的最简单的事情
<head>
<script type="text/javascript">
function check() {
var sum = 0;
var inputs = $(".test");
for (i = 0; i < inputs.length; i++) {
if (inputs[i].value == parseInt(inputs[i].value)) {
sum += parseInt(inputs[i].value);
if (sum > 100) {
sum -= parseInt(inputs[i].value);
inputs[i].value = 100-sum;
}
}
}
}
</script>
</head>
<body>
<input type="text" onkeyup="check()" class="test" size="3">
<input type="text" onkeyup="check()" class="test" size="3">
<input type="text" onkeyup="check()" class="test" size="3">
在国际海事组织,你可以这样做:
小提琴:这是我能想到的最简单的事情
<head>
<script type="text/javascript">
function check() {
var sum = 0;
var inputs = $(".test");
for (i = 0; i < inputs.length; i++) {
if (inputs[i].value == parseInt(inputs[i].value)) {
sum += parseInt(inputs[i].value);
if (sum > 100) {
sum -= parseInt(inputs[i].value);
inputs[i].value = 100-sum;
}
}
}
}
</script>
</head>
<body>
<input type="text" onkeyup="check()" class="test" size="3">
<input type="text" onkeyup="check()" class="test" size="3">
<input type="text" onkeyup="check()" class="test" size="3">
在国际海事组织,你可以这样做:
函数检查(){
var总和=0;
var输入=$(“.test”);
对于(i=0;i100){
sum-=parseInt(输入[i].值);
输入[i]。值=100和;
}
}
}
}
函数检查(){
var总和=0;
var输入=$(“.test”);
对于(i=0;i100){
sum-=parseInt(输入[i].值);
输入[i]。值=100和;
}
}
}
}
我正在检查所有文本框的总和是否超过100,然后在最后输入的文本框中进行更正,并禁用下一个文本框
我正在检查所有文本框的总和是否超过100,然后在最后输入的文本框中进行更正,禁用下一个文本框。也从fiddle添加代码!首先,尽你最大的努力,我们会帮你解决遇到的问题。你尝试过什么吗?@PalashMondal,我不知道如何构建它,我已经在另一个地方搜索过这个案例,但我没有找到类似的案例。如果text1和text2的总和超过100,你是允许文本3中的负值还是调整文本1和文本2中的值?也可以从fiddle中添加代码!首先,尽你最大的努力,我们会帮你解决遇到的问题。你尝试过什么吗?@PalashMondal,我不知道如何构建它,我已经在另一个地方搜索过这个案例,但我没有找到类似的案例。如果text1和text2的总和超过100,你们在文本3中允许负值还是在文本1和2中允许调整值?我已经测试过了,我仍然可以在第一个字段中输入>100。。。我试图访问你的小提琴链接,但无法访问,因此我已将模糊事件更改为按键事件,请立即尝试尝试>,我仍然可以在第一个字段上输入超过“100”。。。我不知道为什么…谢谢你的代码,我会根据你的代码修改算法。再次感谢布山:)我已经测试过了,我仍然可以在第一个字段中输入>100。。。我试图访问你的小提琴链接,但无法访问,因此我已将模糊事件更改为按键事件,请立即尝试尝试>,我仍然可以在第一个字段上输入超过“100”。。。我不知道为什么…谢谢你的代码,我会根据你的代码修改算法。再次感谢布山:)@ImamHerlambang它不起作用了。非常具有描述性。。。是 啊抱歉,但代码确实不起作用。。。我也检查过JSFIDLE。也许你可以展示一下如何实现这些代码?我是这里的新手。。。谢谢,它起作用了。谢谢很抱歉,当我尝试在第一个输入中输入“100”时,第二个和第三个输入仍然可以填充。是否有其他修复方法?@ImamHerlambang使用
检查(+this.value==100)
并执行所需操作,例如,使用.prop(“disabled”,true)
禁用另一个字段,或重置当前字段的值。@ImamHerlambang它不工作。非常具有描述性。。。是 啊抱歉,但代码确实不起作用。。。我也检查过JSFIDLE。也许你可以展示一下如何实现这些代码?我是这里的新手。。。谢谢,它起作用了。谢谢很抱歉,当我尝试在第一个输入中输入“100”时,第二个和第三个输入仍然可以填充。有其他方法修复吗?@ImamHerlambang使用检查(+this.value==100)
并执行您需要的操作,例如,使用.prop(“disabled”,true)
禁用另一个字段,或者重置当前字段的值。我已经进行了第二次测试,这很有效。我只是想知道第一个输入值是否为“100”,另一个值是否为“0”。你能做到吗?我已经做了第二次测试,这很有效。我只是想知道第一个输入值是否为“100”,另一个值是否为“0”。你能做到吗?
$(function(){
$('input[name="text1"]').keyup(function(){
var text1Value = $('input[name="text1"]').val();
if(text1Value >=100)
{
$('input[name="text1"]').val(100);
$('input[name="text2"]').val('');
$('input[name="text3"]').val('');
$('input[name="text2"]').attr('disabled','disabled');
$('input[name="text3"]').attr('disabled','disabled');
}
else
{
$('input[name="text2"]').removeAttr('disabled');
$('input[name="text3"]').removeAttr('disabled');
}
});
$('input[name="text2"]').keyup(function(){
var text1Value = parseInt($('input[name="text1"]').val());
var text2Value = parseInt($('input[name="text2"]').val());
if(isNaN(text1Value))
{
text1Value =0;
}
if(isNaN(text2Value))
{
text2Value =0;
}
var total = text1Value + text2Value;
if(total >=100)
{
$('input[name="text2"]').val(100-text1Value);
$('input[name="text3"]').val('');
$('input[name="text3"]').attr('disabled','disabled');
}
else
{
$('input[name="text3"]').removeAttr('disabled');
$('input[name="text3"]').val(100-total);
}
});
});