我正在使用这个JS函数动态地向表中添加标签,这个函数是从组合框选择索引更改调用的,当用户选择一个新项时,它应该添加到标签中,我要检查表的当前值(即表的行),如果是新的,只添加新项,我该怎么办?如何检查表的现有项目(标签)?
var spanTag = document.createElement("span");
spanTag.id = document.getElementById('cmbDestinationUser').selectedIndex.toString();
var e = document.getElementById("cmbDestinationUser");
var strUser = e.options[e.selectedIndex].text;
spanTag.innerHTML = strUser;
var TR = document.createElement('tr');
var TD = document.createElement('td');
TD.appendChild(spanTag);
TR.appendChild(TD);
document.getElementById('tblReceivers').appendChild(TR);
感谢
答案 0 :(得分:1)
您正在添加具有固定ID的范围 - 您只需找到它是否已存在:
if( document.getElementById( spanTag.id ) == null )
{
// add it
}
另外,你可以用jQuery来简化你的生活。我认为这相当于你想要做的事情:
id = $('#cmdDestinationUser').val();
if( $("#"+id).length == 0 )
{
selText = $('#cmdDestinationUser option:selected').val();
$("#tblReceivers").append("<tr><td><span id='" + id + "'>" + selText + "</span></td></tr>");
}