【发布时间】:2026-01-08 12:40:02
【问题描述】:
我有 2 列,每列有 3 张卡片,每张卡片都有一个复选框。
我的代码运行为单独拖放每张卡,但是
我想在一个动作中拖放多张选中/选中的卡片,并在卡片掉落时取消选中复选框。
请参阅live example 或 sn-p 进行实时预览。
$("#card-list").droppable({
accept: $(".card").draggable({
revert: true,
opacity: .5
}),
drop: function( event, ui ){
var dropped = ui.draggable;
$(this).append(dropped.clone().removeAttr('style'));
dropped.remove();
}
});
.card{
width:80px;
height:80px;
color:#fff;
}
.right-list{
background-color: #B91646 !important;
}
.left-list{
background-color: #1F1D36 !important;
}
.form-check-input{
position:absolute;
top:0 !important;
right:0 !important;
left:0 !important;
bottom:0 !important;
margin:auto !important;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row">
<div class="col-6 d-flex flex-column align-items-center">
<div class="card left-list mb-3">
<input class="form-check-input" type="checkbox" value="" aria-label="...">
</div>
<div class="card left-list mb-3">
<input class="form-check-input" type="checkbox" value="" aria-label="...">
</div>
<div class="card left-list mb-3">
<input class="form-check-input" type="checkbox" value="" aria-label="...">
</div>
</div>
<div class="col-6" id="card-list">
<div class="card right-list mb-3">
<input class="form-check-input" type="checkbox" value="" aria-label="...">
</div>
<div class="card right-list mb-3">
<input class="form-check-input" type="checkbox" value="" aria-label="...">
</div>
<div class="card right-list mb-3">
<input class="form-check-input" type="checkbox" value="" aria-label="...">
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.3/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
【问题讨论】:
标签: jquery jquery-ui drag-and-drop jquery-ui-draggable jquery-ui-droppable