假设我有几个div和一组序列号。 当我单击Div时,有一个面板我可以将一些数字传递到Div中; 当我点击第二个div时,我可以将相同的数字传递到当前的一个中,但是会从其他的div中移除重复的数字。
var arr = [1, 2, 3,...,10]
<div id="panel">
<button>1</button>
<button>2</button>
...
<button>10</button>
</div>
<div id="column">
<div class="card">1, 2</div>
<div class="card active">3, 4, 5, 6, 7</div>
<div class="card">8, 9, 10</div>
</div>
我遇到了一个问题:将数字传递给当前的div将删除所有其他的数字(包括那些从未选择的数字)。
$("#panel button").on("click", function(){
$(this).toggleClass("selected");
checkSelected()
})
function checkSelected(){
var arr = [];
$("#column .card.active").html("");
for(var i = 0 ; i < $("#panel button .selected").length; i++){
var num = $("#panel button .selected").eq(i).text()
arr.push(num)
}
arr.sort(function(a, b){
return a - b;
});
for(var j =0; j < arr.length; j++){
var div = $("#column .card.active");
var res = '<p>'+arr[j]+'</p>';
div.append(res);
// remove others...
$("#column .card").not( ".active").find("p:contains("+arr[j]+")").filter(function () {
return $(this).length > 0;
}).remove();
}
}
更新:刚刚在jsfiddle这里做了一个示例
有人吗? 有人帮忙吗? 真的很感激。
也许检查最后的。remove()是否会丢弃所有的数字?