1

我正在尝试验证电子邮件地址,然后添加到多选框中。我正在使用 qTip 和 jquery validate 来解决问题。所以当点击添加按钮时,脚本应该验证并添加到下面的选择框中。验证工作正常,但要添加我将方法添加到主 qTip 脚本时遇到一点困难。谁能帮我整合以下内容

这是演示

添加脚本

  $(document).ready(function() {
 $("#addButton").click(function() {
    var arr = new Array();
    $('#emailRecipients option').each(function(){
        arr.push($(this).attr('value'))
    });
    var duplicateFlag = false;
    for(var i = 0; i < arr.length; i++) {
        if(arr[i].toString() == $('#validate').val()) {
            duplicateFlag = true;
            break;
        }
    }

    if(duplicateFlag) {
        alert('sorry...');
    } else {
        $('#emailRecipients').append($("<option>" + $('#validate').val() + "</option>"));
    }
    return false;
});
    });
4

1 回答 1

0

由于您通过字符串比较进行验证,因此您可以收紧下面的代码。此外,您需要将 .append() 方法中的 jquery 更改为原始 HTML,并将电子邮件地址添加到选项值。

$(document).ready(function(){

    $("#addButton").click(function(){
        var emails = [];
        $("#emailRecipients option").each(function(){
            emails.push($(this).val());
        });

        if( $.inArray($('#validate').val(), emails) != -1 ){
            alert("sorry...");
        }else{
            $('#emailRecipients').append("<option value='" + $('#validate').val() + "'>" + $('#validate').val() + "</option>");
        }
    });

});
于 2011-03-28T11:24:52.060 回答