Javascript 我如何检查我的div标记字段是否为null,以及它是否为null,并使用Jquery执行某些操作
我有5个相同类别的Javascript 我如何检查我的div标记字段是否为null,以及它是否为null,并使用Jquery执行某些操作,javascript,jquery,Javascript,Jquery,我有5个相同类别的div标记。每个div标记都有一个文本框和一个带有数字的下拉列表 如何检查所有这些divtags的文本框和下拉列表是否为空,以及是否为“do something” $step是一个包含所有mydiv标记的数组 var $step = $(".wizard-step2:visible"); 我的文本框有一个class注释,我的下拉列表有一个class等级 到目前为止,我已经对其进行了编码,但它是错误的,我不希望它检查每个div标记,我希望它检查所有标记 这是错误的代码: var
div
标记。每个div
标记都有一个文本框和一个带有数字的下拉列表
如何检查所有这些div
tags的文本框和下拉列表是否为空,以及是否为“do something”
$step
是一个包含所有mydiv
标记的数组
var $step = $(".wizard-step2:visible");
我的文本框有一个class注释
,我的下拉列表有一个class等级
到目前为止,我已经对其进行了编码,但它是错误的,我不希望它检查每个div
标记,我希望它检查所有标记
这是错误的代码:
var Comment = $step.find(".Comment").val();
var Grade = $step.find(".Grade").val();
for (var i = 0; i < $step.length; i++) {
if (Comment != null && Grade > 0) { {
// do this
}
} else {
alert("You must enter both fields");
}
}
var Comment=$step.find(“.Comment”).val();
var Grade=$step.find(“.Grade”).val();
对于(变量i=0;i<$step.length;i++){
如果(注释!=null&&Grade>0){{
//这样做
}
}否则{
警报(“您必须同时输入两个字段”);
}
}
编辑:
我认为我没有很好地解释我的问题,我的代码就像我在这个问题上得到的所有答案一样工作。我不想做这个if语句来检查每个div标签。我想能够检查是否所有的div标签都有任何空字段“做些什么”,如果所有的div标签字段都被填充,那么就做些什么
允许用户将字段留空,但如果所有div标记字段都已填充,请执行某些操作
我不想为每个div标记执行if语句,我想在所有div标记都有任何空字段或都是字段时执行if语句
假设我有5个div标签。我已经填充了其中的4个,当我填充最后一个div标签时,5个div标签被填充。这里我想要这个“做点什么”否则什么也不应该发生。我不希望在填充的div标记1、2、3、4上执行if语句,我希望在填充第5个时执行if语句,因为所有div标记都已填充,否则不会发生类似的情况:
$(".wizard-step2:visible").each(function(){
var Comment = $(this).find(".Comment").val();
var Grade = $(this).find(".Grade").val();
if (Comment != '' && Grade > 0) {
{
// do this
} else {
alert("You must enter both fields");
}
});
$(".wizard-step2:visible").each(function(count){
var isCommentEmpty = $(this).find(".comment").val().length == 0;
if(isCommentEmpty){
alert('Comment on div ' + count + ' is empty!';
}
});
试着把你的评论放在每一篇文章里面,比如
var bOK, Comment, Grade ;
$step.each(function(){
Comment = $(this).find(".Comment").val();
Grade = $(this).find(".Grade").val();
if(put your condition here)
else {
bOK = false;
return false
}
});
// Now test your condition with bOK
您可以像这样迭代集合或数组:
$(".wizard-step2:visible").each(function(){
var Comment = $(this).find(".Comment").val();
var Grade = $(this).find(".Grade").val();
if (Comment != '' && Grade > 0) {
{
// do this
} else {
alert("You must enter both fields");
}
});
$(".wizard-step2:visible").each(function(count){
var isCommentEmpty = $(this).find(".comment").val().length == 0;
if(isCommentEmpty){
alert('Comment on div ' + count + ' is empty!';
}
});
找到每个类的填充元素,并使用结果选择的长度执行测试:
var $step = $(".wizard-step2:visible");
// returns true if the element's value is not null
function filled() {
return !!this.value;
}
// count the number of non-empty elements
var n_step = $step.length;
var n_comments = $step.find('.Comment').filter(filled).length;
var n_grades = $step.find('.Grade' ).filter(filled).length;
if (n_comments === n_step && n_grades === n_step) {
// all filled
} else if (n_comments === 0 && n_grades === 0) {
// all empty
} else {
// mixed - do nothing
}
您应该使用jQuery
each()
方法来迭代$(“.wizard-step2:visible”)
div数组
看看我创建的这个,以展示如何实现这一点
编辑:
这里是JSFIDLE代码的jist:-
$('.wizard-step2:visible').each(function(){
var txtBox = $(this).find('.comment');
var Select = $(this).find('.Grade');
var thisDiv = $(this).attr('id');
if(txtBox.val().length > 0 && Select.val().length > 0)
{
alert("values for " +thisDiv+ " are fine");
}
else
{
alert("please fill in both values for " + thisDiv);
}
});
你也可以发布你的HTMLI推荐使用JSFIDLE,它使任何人都更容易处理你的问题这很难做到,因为这只是我拥有的jquery代码墙的一部分:/so-10全部填充-做点什么,10全部清空,做点别的-中间-什么都不做?例如!这就是我想要达到的目标!:)但并非全部为空如果只有一个字段为空且9已填充,则应执行其他操作+1,此外,为了安全起见,我还将指定元素标记,以防类稍后被分配给div中的其他控件,这些控件可能需要或不需要包含在验证中。类似这样的东西:
$(this).find(“input[type='text'].Comment”).val()
和$(this).find(“select.Grade”).val()代码>(不确定语法是否正确)是的,除非您对这些事情有把握,否则您应该始终保持安全,并使选择器尽可能具体。我的代码执行您的操作。请阅读我的问题编辑。我想我解释得很糟糕。我希望你现在看完后能理解我的问题。谢谢答案中可能还应该包含相关的JavaScript实现,以防将来某个阶段链接失效。请阅读我的问题编辑。我想我解释得很糟糕。我希望你现在看完后能理解我的问题。谢谢我的代码和你的一样。请阅读我的问题编辑。我想我解释得很糟糕。我希望你现在看完后能理解我的问题。谢谢我的代码和你的一样。请阅读我的问题编辑。我想我解释得很糟糕。我希望你现在看完后能理解我的问题。谢谢我的代码和你的一样。请阅读我的问题编辑。我想我解释得很糟糕。我希望你现在看完后能理解我的问题。谢谢当我说5时,如果这只是一个示例,div标记的数量可以在1-20之间,这完全取决于用户选择的内容。@RammtinAvar修改为基于div的(可变)数量进行测试。是否可以对:hidden和:visible都这样做?因为当div标记1可见时,其余的都隐藏了,以此类推..我的代码执行你的操作。请阅读我的问题编辑。我想我解释得很糟糕。我希望你现在看完后能理解我的问题。谢谢