javascript - 选中时从数组中删除值

标签 javascript jquery arrays

我想在数组的值被选中时删除它们。

我的 HTML

<ul id="keyWords">
  <li><input id="check" name="check" type="checkbox">thirteen</li>
  <li><input id="check" name="check" type="checkbox">twelve</li>
  <li><input id="check" name="check" type="checkbox">eleven</li>
  <li><input id="check" name="check" type="checkbox">ten</li>
  <li><input id="check" name="check" type="checkbox">nine</li>
  <li><input id="check" name="check" type="checkbox">eight</li>
  <li><input id="check" name="check" type="checkbox">one</li>
</ul>

单击此按钮时,我需要从数组中删除复选标记的值

<button id="clearChecked">Clear Checked Items</button>

这是我尝试使用的 jquery 函数,但它不起作用。 我需要该函数从名为 localArray 的数组中删除选中的框值,并且关键字位于 keyWords

ul
$('#clearChecked').click(function() {
  var keyWords = $('#keyWords').html();
  if ((index = keyWords.indexOf($(localArray.this).val())) !== -1) {
    localArray.splice(index, 1);
  } else {
    if ($(keyWords.this).is(':checked')) {
      localArray.push($(this).val());
    }
  }
});

最佳答案

不必费心拼接数组,只需创建一个新数组即可:

var newArray = [];
$('#clearChecked').click(function() {
  $('#keyWords > input').each( function (n, obj) {
      if ($(obj).is(':checked')) {
          newArray.push($(obj).val());
      }
  }
});
localArray = newArray;

关于javascript - 选中时从数组中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34461154/

相关文章:

arrays - 如何使用golang的zlib?

javascript - 错误: "JSON.parse: unexpected character at line 1 column 1 of the JSON data" when include additional php file

javascript - Div 在被拖动时自动调整大小(jQuery UI)

javascript - 鼠标悬停时更改多个图像故障

arrays - 在 Bash 中将文件读入关联数组

arrays - 给定一个正整数数组,找到长度为 L 且总和等于 S 的连续子序列的起始索引

javascript - 删除前触发动画结束

javascript - 代码适用于 Codepen,但不适用于 JSFiddle 或 HTML 页面

javascript - fancybox 防止在窗口外部关闭点击

javascript - 我尝试将 Node js 中的 JSON 发送到客户端,但它不起作用