我有以下功能,无论我做什么,它都赢了,但我不知道,也许我在这里错过了一些东西。
我想要完成的是将输入字段的值与数据列表的选项进行比较。到目前为止,该函数比较了这些值,并在找到一个匹配后返回true,但它只是在之后循环返回false。
function OperatorSelectionCheck() {
if ($("#ModalEmployeeSelect").val() != "")
{
$('#ModalEmployeeSelectList option').filter(function () {
if ($(this).val() === $("#ModalEmployeeSelect").val())
{
$("#ModalEmployeeSelect").removeClass("tberror");
$("#timesheet-modal-errorbag").text("");
return;
}
else
{
$("#ModalEmployeeSelect").focus();
$("#ModalEmployeeSelect").addClass("tberror");
$("#timesheet-modal-errorbag").text("The entry " + $("#ModalEmployeeSelect").val() + " does not match any users in the database." );
return false;
}
});
}
else
{
$("#ModalEmployeeSelect").focus();
$("#ModalEmployeeSelect").addClass("tberror");
$("#timesheet-modal-errorbag").text("Please select an operator.");
return false
}
}
答案 0 :(得分:1)
也许重构?我没有运行下面的代码,但可能会帮助您朝着正确的方向发展。
var collection = $('#ModalEmployeeSelectList option').filter(function () {
return $(this).val() === $("#ModalEmployeeSelect").val()
})
if (collection.length > 0) {
$("#ModalEmployeeSelect").removeClass("tberror");
$("#timesheet-modal-errorbag").text("");
}
else {
$("#ModalEmployeeSelect").focus();
$("#ModalEmployeeSelect").addClass("tberror");
$("#timesheet-modal-errorbag").text("The entry " + $("#ModalEmployeeSelect").val() + " does not match any users in the database." );
}