$(function () {
$('#form4').submit(function () {
var val = $("#txtNewServiceTypeCategory").val();
$("#ServiceTypeCategoryName").children("option").each(function () {
var $this = $(this);
if (val == $this.val()) {
alert("ServiceTypeCategory Name is already added! Please Choose Differnt Category Name");
return false;
}
});
$('#someHiddenDiv2').show();
$('#STSave').attr('disabled', 'disabled');
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
$('#someHiddenDiv2').hide();
alert('Saved NewServiceTypeCategory Successfully. Thank you!');
},
error: function () {
alert('Error occured! Plese try again later!.');
$('#someHiddenDiv2').hide();
$('#STSave').removeAttr('disabled');
}
});
return false;
});
});
即使在上面的代码中显示弹出消息,其他情况下,此返回false也不在上面的代码中起作用,
$("#ServiceTypeCategoryName").children("option").each(function () {
var $this = $(this);
if (val == $this.val()) {
alert("ServiceTypeCategory Name is already added! Please Choose Differnt Category Name");
return false;
}
});
我在这方面做错了什么?
谢谢
最佳答案
return false;
循环中的each
仅会中断循环,它不会从您的Submit函数返回,因此其余Submit函数将继续运行。
您可以在循环中设置是否继续提交的变量,然后在循环之后检查是否需要提交。
var exitSubmit = false;
$("#ServiceTypeCategoryName").children("option").each(function () {
var $this = $(this);
if (val == $this.val()) {
exitSubmit = true;
return false;
}
});
if (exitSubmit) {
alert("ServiceTypeCategory Name is already added! Please Choose Differnt Category Name");
return false;
}
关于javascript - 我的Return false在此代码中不起作用..使用jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3828145/