编辑名称并检查重复项

时间:2015-08-04 23:44:53

标签: javascript jquery

我正在尝试编辑下拉列表的选项,并检查下拉列表中是否已存在新编辑的选项。 如果是,它应该发出警报,否则编辑并在下拉列表中添加新选项。

但是有一种情况是用户点击了编辑但后来却不想更改名称并点击“确定”(因为该选项位于下拉列表中,它会提示该选项已经存在)。

如何检查这个,不包括我正在编辑的选项?

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()); 
    }
}

1 个答案:

答案 0 :(得分:0)

您想首先检查用户是否实际编辑了值,或仅选择了以前的值。将其存储在标记变量中,例如'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()); 
    }
}