2011-03-07 58 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被验证的电子邮件地址