【发布时间】:2015-02-10 07:12:13
【问题描述】:
我想在我的页面上有一个隐藏的搜索表单,以允许用户在点击时过滤标签。我想我一开始走在正确的轨道上,但我可能已经掉进了兔子洞。
到目前为止,我可以替换表单中的值,但我不知道如何运行循环,以便它只返回被点击项目的 innerHTML。它目前贯穿所有选项并在最后停止。
非常感谢任何帮助。
这是我的标签:
<div id="tagLinks" class="tags" >
<span class="clickable" onclick="getValue();">Social Media</span>,
<span class="clickable" onclick="getValue();">Business</span>,
<span class="clickable" onclick="getValue();">Content</span>,
<span class="clickable" onclick="getValue();">Marketing</span>,
<span class="clickable" onclick="getValue();">Engagement</span>,
<span class="clickable" onclick="getValue();">Facebook</span>,
<span class="clickable" onclick="getValue();">Twitter</span>,
<span class="clickable" onclick="getValue();">Google Plus</span>
</div>
这是我的 javascript: $(document).ready(function() {
var tagArray = document.getElementById("tagLinks").innerText.split(', ');
var spanObj;
tagArray.forEach(createElement);
function createElement(arrayItem, index, array) {
spanObj = "<span class='clickable' onclick='getValue();'>" + arrayItem + "</span>";
tagArray[index] = spanObj.toString();
document.getElementById("tagLinks").innerText = "";
$("#tagLinks").append(tagArray.join(", "));
$('#tagLinks').css('cursor','pointer');
}
function getValue() {
var value = document.getElementById('tagInput').value;
var newValues = document.getElementsByClassName('clickable');
for(var i=0; i < newValues.length; i++) {
document.getElementById('tagInput').value = newValues[i].innerHTML;
}
}
【问题讨论】:
标签: javascript arrays loops innerhtml