gpt4 book ai didi

javascript - 突破 .each()

转载 作者:行者123 更新时间:2023-11-30 10:23:49 26 4
gpt4 key购买 nike

我想跳出 .each() 迭代,但它不允许我这样做。这是我的代码。感谢您的帮助!欣赏它。

$('#btn-submit-add').click(function(){
var answerField = 1;
$('.addAnswerChoice').each(function(){
var answerChoice = $(this).val();
if (answerChoice == ""){
$('#answerChoice-'+answerField+'-Error').show();
$(this).focus();
return false; // this doesn't work
}
answerField++;
});
alert('doing stuff after');
});

最佳答案

我的猜测是您试图从点击处理程序返回 false 以取消提交。你的方式是你的 return false 语句从你传递给 .each() 的函数返回,它确实跳出了 .each() 循环,但它不会从作为点击处理程序的外部函数返回。因此,然后继续执行 .each() 之后的语句,即最后的警报。并且您的点击不会被取消。试试这个:

$('#btn-submit-add').click(function(e){
var answerField = 1;
$('.addAnswerChoice').each(function(){
var answerChoice = $(this).val();
if (answerChoice == ""){
$('#answerChoice-'+answerField+'-Error').show();
$(this).focus();
e.preventDefault();
return false;
}
answerField++;
});
});

jQuery 传递 event object到您的点击处理程序(注意我添加了一个名为 e 的参数),因此您可以使用 event.preventDefault()停止点击。

关于javascript - 突破 .each(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20493983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com