.innerHTML += id,没有重复
.innerHTML += id, no duplicates
这是我所拥有的,所以我有一个很长的复选框列表,如果它们被选中,我想以文本形式显示它们,我正在考虑使用以下代码,但我遇到的问题是如果他们选中和取消选中复选框,它会多次显示有关如何解决此问题的任何建议?
.innerHTML += id;
如果您需要更多详细信息,下面是相关代码的代码转储:
爪哇语
function findTotal() {
var items = new Array();
var itemCount = document.getElementsByClassName("items");
var total = 0;
var id = '';
for (var i = 0; i < itemCount.length; i++) {
id = "c" + (i + 1);
if (document.getElementById(id).checked) {
total = total + parseInt(document.getElementById(id).value);
document.getElementById(id).parentNode.classList.add("active");
document.getElementById(id).parentNode.classList.remove("hover");
document.getElementById('display').innerHTML += id;
} else {
document.getElementById(id).parentNode.classList.remove("active");
document.getElementById(id).parentNode.classList.add("hover");
}
}
console.log(total);
document.getElementById('displayTotal').value = total;
}
.HTML
<label class="hover topping" for="c4">
<input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c4">BABYBEL</label>
注:更多标注分类
以前的答案应该可以。这里是你的代码(见注释"清除容器"此外,我还简化了您的代码。可读性大大提高。也许你应该切换到jQuery,对于你的例子来说要简单得多。
var displayElement = document.getElementById('display'),
displayTotalElement = document.getElementById('displayTotal');
function findTotal() {
var items = [],
itemCount = document.getElementsByClassName("items"),
total = 0,
id = '';
// clear container
displayElement.innerHTML = "";
for (var i = 0; i < itemCount.length; i++) {
id = "c" + (i + 1);
var element = document.getElementById(id),
elementsParent = element.parentNode;
if (element.checked) {
total = total + parseInt(element.value, 10);
elementsParent.classList.add("active");
elementsParent.classList.remove("hover");
displayElement.innerHTML += id;
} else {
elementsParent.classList.remove("active");
elementsParent.classList.add("hover");
}
}
console.log(total);
displayTotalElement.value = total;
}
重置循环前的文本:
document.getElementById('display').innerHTML = '';
目前,您只是总是在添加已经存在的东西......
相关文章:
- 当传递innerHTML和(this.id)时,循环不会终止
- .innerHTML += id,没有重复
- 在innerHTML中包含变量值以创建输入id's和占位符
- 如何使用innerHTML更改图像大小来给它一个id Javascript
- $('#id').html(x) 与 el.innerHTML = x 有什么不同
- 如何在javascript中从innerHTML中获取id
- 如何使用 jquery 使用 'data-id' 属性更改 innerHtml 内容
- 在javascript中使用tr id更新tr innerHTML
- 文件ElementID('id').innerHTML=只闪烁一次,然后它'他走了
- 根据活动ID引导程序3更改innerHTML文本
- 如何在innerHTML中为html元素设置Id属性
- 无法设置null错误的innerHTML.尽管存在html ID
- document.getElementById('id').innerHTML=“”;一些值“;更改do
- 如何在特定InnerHTML上的类HTML元素上创建ID?HTML没有ID,使用JavaScript
- 如何改变innerHTML内容,如(输入字段名称,id,onclick)属性
- 通过id更改链接的innerHTML
- 更改每个指定id的元素的innerHTML
- JavaScript 按类和 id 从标签编辑 InnerHTML
- 如何在使用document.getElementById("id"). innerhtml时改变文本
- 为什么HTML的ID上会有额外的引号呢?在JavaScript中使用. innerhtml设置