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 に答える