2011-03-28 64 views
1

我想驗證一個電子郵件地址,然後添加到多選框。我正在使用qTip和jquery驗證來做伎倆。所以當點擊添加按鈕時,腳本應該驗證並添加到下面的選擇框中。驗證工作正常,但添加我面臨添加方法主qTip腳本有點困難。誰能幫我在整合之下jquery驗證,添加,刪除電子郵件地址

這裏是demo

添加腳本

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

回答

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

}); 
+0

我想添加這個邏輯qTip腳本,其中我驗證並顯示錯誤消息onMouseover。這裏是[demo](http://jsfiddle.net/pixelfx/u38Q5/) – Ravi 2011-03-28 12:54:34

+0

@Ravi:反過來你可能沒有那麼麻煩。也就是說,如果他們輸入已輸入的電子郵件地址,則應該驗證()併爲文本字段創建一個qTip,而不是將邏輯合併到組件中,例如將以上代碼添加到.validate()。 (例如,不要提醒「抱歉...」,爲文本字段創建qTip,讓他們知道他們已經輸入了電子郵件地址) – 2011-03-28 13:01:53