2011-03-07 148 views
0

我想驗證一個電子郵件地址,並將其添加到多選框。爲了驗證我使用jQuery網站中的這個例子的電子郵件地址。如何將有效的電子郵件地址添加到選擇框中?jquery添加/刪除有效的電子郵件地址

}} )

<SELECT id="emailRecipients" multiple size=12 name=emailRecipients> 
    <OPTION [email protected]>[email protected]</OPTION> 
    <OPTION [email protected]>[email protected]</OPTION> 
    </SELECT> 

<INPUT class="secbtn" value="Add" type="button" id="addButton"> 

回答

1

首先得到確認電子郵件,那麼:

$('#addButton').click(function(){ 
    $('#emailRecipients').append('<OPTION value=' + email + '>' + email + '</OPTION>'); 
}); 

這將與新的電子郵件的新選項追加到選擇一次添加按鈕被點擊。

+0

我也做了這樣的事情。 ('name')+「」); $(select).append(「」+ $(this).attr – Ravi 2011-03-07 11:51:25

+0

@ tiagoboldt我已經實現了這一點,添加和刪除都在FF上工作,但不能在IE上工作。當我添加有效的電子郵件地址寬度的選擇框正在減少出於某種奇怪的原因,也驗證方法也沒有工作。 你能幫我解決這個問題嗎? [示例演示](http://jsfiddle.net/pixelfx/cyTRf/) – Ravi 2011-03-07 12:17:50

+1

幾條評論:使用一個$(document).ready()。維護和閱讀起來更容易。另外,儘量不要有很多級別的功能。單獨創建函數,然後將它們用作參數,而不是定義它們。我通常創建一個函數設置(){..}與所有初始化,然後做$(document).ready(setup); |||另外,您並未檢查每封電子郵件的電子郵件是否有效:嘗試將isValidEmail驗證添加到addButton單擊事件中,以便每次用戶嘗試添加新電子郵件時都進行驗證。希望它有幫助,祝你好運 – tiagoboldt 2011-03-07 14:27:03

1

如果電子郵件是有效的在您檢查。您可以

var options = $('#emailRecipients').attr('options'); 
options[options.length] = new Option(emailAdd, emailAdd, true, true); 

emailAdd被驗證的電子郵件地址