【发布时间】:2015-08-11 16:41:53
【问题描述】:
我正在尝试使用相同的按钮创建一种切换/添加和删除。目前我可以将选择添加到列表中,但希望能够在添加后按相同的按钮将其从列表中删除。
我创建了一个小提琴来展示我当前正在进行的工作......
小提琴http://jsfiddle.net/amesy/vtg6nnce/2/
HTML...
<ul class="cbp-rfgrid biscuits clearfix">
<li><button type="button" data-biscuit="custardcream" class="biscuit custardcream"><img src="img/custardcream.png" /><div class="overlay"><div class="name">Custard Creams</div><img src="img/bite.png" class="bite" /></div></button></li>
<li><button type="button" data-biscuit="jammydodger" class="biscuit jammydodger"><img src="img/jammydodger.png" /><div class="overlay"><div class="name">Jammy Dodger</div><img src="img/bite.png" class="bite" /></div></button></li>
<li><button type="button" data-biscuit="hobnob" class="biscuit hobnob"><img src="img/hobnob.png" /><div class="overlay"><div class="name">Hobnob</div><img src="img/bite.png" class="bite" /></div></button></li>
</ul>
<div class="barrel"></div> //Basket List / Biscuit Barrel
jQuery...
$(function() {
$('.biscuit').click(function(){
$(this).toggleClass( "selected");
});
});
var barrel_items = [];
$('[data-biscuit]').click(function(){
var biscuit = $(this).data('biscuit');
add_to_barrel(biscuit);
});
function add_to_barrel(item){
if($.inArray(item, barrel_items) !== -1){
return;
}
var name = '';
switch(item){
case 'custardcream':
name = 'Custard Creams';
break;
case 'hobnob':
name = 'Hobnob';
break;
case 'jammydodger':
name = 'Jammy Dodgers';
break;
}
$('.barrel').append('<div class="chosen">' + name + '</div>');
barrel_items.push(item);
}
【问题讨论】: