请在此处查看完整的工作代码:http://jsfiddle.net/jfZgN/1/
//enable submit button
if (total == 100){
if ($("input:text").is(":empty")) {
$("input:text").attr('disabled','disabled');
} else {
$("input:text").removeAttr('disabled');
}
$('.btn').removeAttr('disabled');
} else {
$('.btn').attr('disabled','disabled');
$("input:text").removeAttr('disabled');
}
我遇到了jQuery的两个问题:
如果有人可以帮助我,这是最后的任务真的很有帮助:)
由于
答案 0 :(得分:0)
当总数大于100时,您需要进行测试。在下面的示例中,如果总数超过100,我将值设置为0,但您可以改为使用自己的逻辑。
如果该值等于100,则迭代输入并禁用那些没有值的输入。
请参阅此updated version of your fiddle并附上一个工作示例。
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()
,尽管这不是必需的。