javascript - 仅追加所有数组项一次

标签 javascript jquery html

我正在尝试从新 div 的下拉列表中输出所有选定选项的 HTML。但是,每次我选择一个新的复选框时,我的容器都会使用所选值进行更新(就像它应该的那样),但它还会附加下拉列表中之前选择的每个值。等等等等。如何只输出一次复选框 HTML?

这是我的 JS 代码:

let emptyArr = [];
$('.dropdown-select-container').find("option:selected").each(function(){
    emptyArr.push($(this).html());
});

for (i in emptyArr) {
  let outputResult = "<div class='arr-item'>" + emptyArr[i] + "</div>"
  $("#container").append(outputResult);
}

最佳答案

因为您使用的是 jQuery 的 append,您的 #container 将始终append(又名添加)内容outputResult 的内容,而不是替换 #container 的内容。相反,您应该使用 html 函数清空 #container 的内容,并将内容替换为 outputResult,如下所示:

$("#container").html(outputResult);

关于javascript - 仅追加所有数组项一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47443182/

相关文章:

html - 父选择器在 css4 中可用吗?

javascript - 如何在 vue.js 2 上使用 ajax 上传图片?

javascript - $ ('html' ).click()...除一个元素外的任何地方

javascript - 在 Jquery 中滚动到顶部和滚动到底部

javascript - 如何使用 javascript 变量应用多种样式?

jquery - 将 jQuery 包含到 TYPO3 后端的最佳方法

javascript - 如何访问index.js文件中的react redux状态?

javascript - 如何从图表中删除 y 轴标签?

html - CSS- :last-child that has "xyz" class name selector? 纯 CSS/LESS

javascript - 如何调整 Javascript 元素的大小以适应其容器窗口