我想在检查标记时删除数组的值。
我的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
的数组中删除选中的已装箱值,并且关键字位于ul
的{{1}}
keyWords
答案 0 :(得分:1)
不要打扰拼接阵列,只需创建一个新阵列:
var newArray = [];
$('#clearChecked').click(function() {
$('#keyWords > input').each( function (n, obj) {
if ($(obj).is(':checked')) {
newArray.push($(obj).val());
}
}
});
localArray = newArray;
答案 1 :(得分:0)
每次单击locale都会覆盖localArray,比从中删除对象更聪明
<ul id="keyWords">
<li><input name="check[]" type="checkbox" value='thirteen'>thirteen</li>
<li><input name="check[]" type="checkbox" value='twelve'>twelve</li>
<li><input name="check[]" type="checkbox" value='eleven'>eleven</li>
<li><input name="check[]" type="checkbox" value='ten'>ten</li>
<li><input name="check[]" type="checkbox" value='nine'>nine</li>
<li><input name="check[]" type="checkbox" value='eight'>eight</li>
<li><input name="check[]" type="checkbox" value='one'>one</li>
</ul>
<button id="clearChecked">Clear Checked Items</button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
var localArray = [];
$('#clearChecked').click(function() {
var Array = [];
$('#keyWords input').each( function () {
if ($(this).is(':checked'))
Array.push($(this).val());
});
localArray = Array;
console.log(localArray);
});
</script>