Javascript 只有输入文本工作正常
因此,我有一个脚本,它可以得到输入的总数和剩余完成的百分比。但是我的脚本只得到Javascript 只有输入文本工作正常,javascript,jquery,html,Javascript,Jquery,Html,因此,我有一个脚本,它可以得到输入的总数和剩余完成的百分比。但是我的脚本只得到type=“text”。有没有办法解决这个问题?这是我的密码 var bad = 0; var cback=function(){ bad=0; $('.form :text').each(function (i,e) { if ($.trim($(e).val()) == "") bad++; }); $('.congrats').css("display", "blo
type=“text”
。有没有办法解决这个问题?这是我的密码
var bad = 0;
var cback=function(){
bad=0;
$('.form :text').each(function (i,e) {
if ($.trim($(e).val()) == "") bad++;
});
$('.congrats').css("display", "block").text(bad + ' missing(Completed '+count()+')');
//else $('.congrats').hide();
$(".top").css("width", 100-(bad / $('.form :text').length)*100 + "%");
}
$(document).delegate('.form :text','focus',cback);
$(document).delegate('.form :text','keyup',cback)
function count(){
return 100-(bad / $('.form :text').length)*100 + "%"
};
那么,我怎样才能拥有type=“password”
等等呢?我是否对所有这些都使用相同的代码?伙计们,你们的方法是什么?试试看
您可以使用以下选择器获取所有输入
$('.form input')
结果见小提琴:
你会这样做的
var inputs = $('.form :input').not('button, [type="button"], [type="submit"]').on({input: cback});
function cback() {
var bad = inputs.filter(function() {
return !this.value.length;
}).length,
total = inputs.length;
$('.congrats').show().text(bad + ' missing(Completed ' + ((100 - (bad / total) * 100).toFixed(2) + "%") + ')');
$(".top").css("width", 100 - (bad / total) * 100 + "%");
}
但是如何排除提交按钮?
不是
,它不应该与此选择器匹配。。它只是在寻找
@user302975对不起,但是为什么不能使用..
而不是
?完整的示例是什么样的?因为我还有css(“display”,“block”).text
,我不确定它会是什么样子work@user302975只需将$('.form:text')
替换为$('.form:text,.form[type=“password”]')
。它仍然不起作用。。。看看我代码的底部,我也提到了很多times@user302975你可以看到,密码不算数。我怎样才能算数?
$('.form input')
$('.form input').not(':input[type=submit]');
var inputs = $('.form :input').not('button, [type="button"], [type="submit"]').on({input: cback});
function cback() {
var bad = inputs.filter(function() {
return !this.value.length;
}).length,
total = inputs.length;
$('.congrats').show().text(bad + ' missing(Completed ' + ((100 - (bad / total) * 100).toFixed(2) + "%") + ')');
$(".top").css("width", 100 - (bad / total) * 100 + "%");
}