Javascript 如果填写了所有输入,则显示div

Javascript 如果填写了所有输入,则显示div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在检查所有输入是否都已填写后,我一直在试图找出如何显示div。我只想检查#intro info部分中的输入。如果所有输入都已填写,我不确定在else语句中写什么来显示按钮#intro button $(函数(){ var intro=$('.intro'); 关于('keypress',function()的介绍{ 如果($(this.val().length>1){ $(this.next('.intro').addClass('block'); } /*否则{ $('.

在检查所有输入是否都已填写后,我一直在试图找出如何显示div。我只想检查
#intro info
部分中的输入。如果所有输入都已填写,我不确定在else语句中写什么来显示按钮
#intro button

$(函数(){
var intro=$('.intro');
关于('keypress',function()的介绍{
如果($(this.val().length>1){
$(this.next('.intro').addClass('block');
}         
/*否则{
$('.intro').hide();
}*/
});
var allEmpty=true;
$('intro info:input')。每个(函数(){
如果($(this.val()!=''){
allEmpty=false;
return false;//我们找到了一个非空的,所以停止迭代
}否则
});
返回空;
});
.intro{
不透明度:0;
填充:10px 15px;
保证金:20px自动;
}
.简介:第一个孩子{
显示:块;
不透明度:1;
}
.街区{
显示:块;
不透明度:1;
-webkit动画:fadein 1s易用;
-moz动画:fadein 1s轻松播放;
动画:Fadein1s轻松进入;
}
.下一个{
显示:无;
}
#介绍按钮{
显示:无;
}

继续
show div
您可以使用jQuery的方法设置元素的可见性。因此,您可以从文本字段中获取输入,检查其长度,然后将结果传递给此函数

例如:

$('.next').toggle($('#name').val().length > 0);
将根据是否在
名称
字段中输入了内容来设置下一个
div的可见性。

  • 使用
    输入
    事件而不是
    按键
  • 使用
    jQuery.filter
    并测试
    表单中的所有值
    除了
    按钮
还请注意,
next
按钮的选择器必须是
.next
,而不是
#next

$(函数(){
var intro=$('.intro');
var testFunction=function(){
return$('#intro info:input:not(按钮)').filter(函数(){
返回此值。值=='';
})
};
关于('input',function()的介绍{
$('.next').toggle(!testFunction().length);
});
});
.intro{
//不透明度:0;
填充:10px 15px;
保证金:20px自动;
}
.简介:第一个孩子{
显示:块;
不透明度:1;
}
.街区{
显示:块;
不透明度:1;
-webkit动画:fadein 1s易用;
-moz动画:fadein 1s轻松播放;
动画:Fadein1s轻松进入;
}
.下一个{
显示:无;
}
#介绍按钮{
显示:无;
}

继续
显示div
  • 按键
    更改为
    输入

  • CSSid选择器类选择器之前
    #介绍按钮{display:none}
    .block{display:block}
    之前。因此,即使添加了类
    ,但显示仍然是空的

    最简单的解决方案是添加
    !重要信息
    在.block属性中显示

.block {
  display: block !important;
}
  • JS部分:在所有输入时添加类

    if (intro.filter(function(){
      return $(this).val().length > 1
    }).length === intro.length){
      $("#intro-button").addClass('block');
    }else {
      $("#intro-button").removeClass('block');
    }
    

  • 从您的代码中,我感觉您希望每个框仅在上面的框已填充时显示。我是rite吗?@Iceman“如果所有输入都已填写,则显示按钮#简介按钮”@Andreas我同意。但是请看这部分代码:
    $(this).next('.intro').addClass('block')也许我只是糊涂了。像这样??->@是的,像那样。谢谢