我需要为textarea值分配一个<a>
标记,用逗号分隔。我正在尝试插入从ajax请求的响应中获得的电子邮件ID。我如何使用JS实现这一目标?
我尝试使用:
$('reminder_email').value += "<a href='#' id='+id'>+email+</a>";
答案 0 :(得分:0)
假设'reminder_email'是相关id
的{{1}},并且回复是一组电子邮件:
textarea
另一方面,如果您尝试使用var emailAddressesArray = ['emailAddress@host.tld', 'emailAddress2@otherHost.tld'];
$('#reminder_email').val(emailAddressesArray.join(', '));
协议创建a
元素的HTML(用于在其他位置复制/粘贴):
mailto
请注意,您无法在var email = 'emailAddress@host.tld';
$('#reminder_email').val('<a href="mailto:' + email + '">' + email + '</a>');
内创建可点击的链接,因为它们不能包含HTML(只是文本)。
但是,如果您有一个可以创建价值的对象:
textarea
您的代码的原因:
var email = [{
'address': 'emailAddress@host.tld',
'id': 'emailOne',
'text': 'UserNameOne'
}, {
'address': 'anotherAddress@host2.tld',
'id': 'emailTwo',
'text': 'UserNameTwo'
}];
$('#reminder_email').val(function(_, v){
for (var i = 0, len = email.length; i < len; i++){
v += '<a href="mailto:' + email[i].address + '" id="' + email[i].id + '">' + email[i].text + '</a>, ';
}
return v.slice(0, v.length - 2);
});
不起作用是双重的:
$('reminder_email').value += '<a href='#' id='+id'>+email+</a>;
是一个寻找$('reminder_email')
标签的选择器(不存在);假设您正在寻找reminder_email
,则需要使用:id
,$('#reminder_email')
属性,而是使用.value
方法(没有获取当前值的参数,或者使用的参数设置一个新值。)。答案 1 :(得分:0)
希望你导入jquery,试试这个:
$('reminder_email').val("<a href='#' id='"+id+"'>" + email + "</a>");
你正在追加吗?为什么使用+=
?