编辑名称并检查是否重复

Editing the name and check for duplicates

本文关键字:是否 检查 编辑      更新时间:2023-09-26

我正在尝试编辑下拉菜单的选项,并检查新编辑的选项是否已经存在于下拉菜单中。如果是,它应该给出一个警告,否则编辑并在下拉菜单中添加新的选项。

但是有一种情况,当用户单击编辑,但然后不想更改名称,并单击确定(因为该选项在下拉菜单中,它给出警告,该选项已经存在)。

如何检查排除我正在编辑的选项?

function IsNameAlreadyPresent(DropdownID,Name){
    var Result = false;
    $.each($("#"+DropdownID+" option"),function(i,e){
        if(e.innerHTML == Name){
            Result = true;
            return false;
        }
    });
    return Result;
}
function EditOptionName() {
    var Name = $("#txtName").val(); 
    if(IsNameAlreadyPresent('DropdownId',Name)) {
        alert("Name '"" + Name + "'" already exists. 'nPlease type an unique name.")
    }
    else{       
        $('#DropdownId').find(':selected').text($('#txtName').val()); 
    }
}

您首先要检查用户是否实际编辑了该值或仅选择了前一个值。将其存储在一个标记变量中,比如"modified"。然后使用以下代码:

function EditOptionName() {
    var Name = $("#txtName").val(); 
    var modified;
    if(IsNameAlreadyPresent('DropdownId',Name) && modified) {
        alert("Name '"" + Name + "'" already exists. 'nPlease type an unique name.")
    }
    else{       
        $('#DropdownId').find(':selected').text($('#txtName').val()); 
    }
}