jQuery滑块超过100%并出现禁用空输入的问题
请参阅此处的完整工作代码: 我对jQuery有两个问题:jQuery滑块超过100%并出现禁用空输入的问题,jquery,Jquery,请参阅此处的完整工作代码: 我对jQuery有两个问题: 当它达到100%时,它将禁用所有输入,我只希望它禁用空输入,因为它们需要能够更改,如果它们更改并低于100,其他输入将再次激活 如果你输入一组超过100%的数字,它允许你这样做,并显示例如120%,我需要它停止在100% 真的很有帮助如果有人能帮我,这是最后一项任务:) 谢谢当总数大于100时,您需要进行测试。在下面的示例中,如果总数超过100,我将该值设置为0,不过您可以将自己的逻辑放进去 如果该值等于100,则迭代输入并禁用那些没有值
谢谢当总数大于100时,您需要进行测试。在下面的示例中,如果总数超过100,我将该值设置为0,不过您可以将自己的逻辑放进去 如果该值等于100,则迭代输入并禁用那些没有值的输入 请看一个工作示例
if (total == 100){
$("input:text").each(function(index) {
var input = $(this);
input.prop('disabled', input.val().length === 0);
});
$('.btn').prop('disabled', false);
} else {
if(total > 100) {
total = total - thisVal;
$(this).val(0);
alert('Total must be less than 100');
//other logic here
}
$('.btn').prop('disabled', true);
$("input:text").prop('disabled', false);
}
另一方面,通常建议在处理布尔属性(如disabled)时使用
prop()
,尽管这不是必需的。在%上工作,所以不进行检查,但似乎仍然禁用具有值的输入?感谢您的帮助。BTW刚刚看到您的评论,有没有关于如何解决禁用问题的想法?我更新了我的答案,包括在值===100时禁用输入。感谢您的关注@J08691问题1很容易解决,但您想如何处理问题2?如果用户键入的值使总数超过100%,那么他们输入的文本会发生什么变化?
if (total == 100){
$("input:text").each(function(index) {
var input = $(this);
input.prop('disabled', input.val().length === 0);
});
$('.btn').prop('disabled', false);
} else {
if(total > 100) {
total = total - thisVal;
$(this).val(0);
alert('Total must be less than 100');
//other logic here
}
$('.btn').prop('disabled', true);
$("input:text").prop('disabled', false);
}