在javascript中从数组中删除单击的项
我有一个单击功能,可以列出所选项目。此外,我将所选项目推送到一个数组中。这部分没有问题,这里是函数在javascript中从数组中删除单击的项,javascript,jquery,arrays,indexing,splice,Javascript,Jquery,Arrays,Indexing,Splice,我有一个单击功能,可以列出所选项目。此外,我将所选项目推送到一个数组中。这部分没有问题,这里是函数 $('#addToCartButton2').click(function(){ var toAdd=$("#chooseItem2 option:selected").text(); var itemNbr2=$("#itemNbr2").val(); if(toAdd !== defaultSelectFormText && itemNbr2 &
$('#addToCartButton2').click(function(){
var toAdd=$("#chooseItem2 option:selected").text();
var itemNbr2=$("#itemNbr2").val();
if(toAdd !== defaultSelectFormText && itemNbr2 >=1){
$('#defaultText').remove();
$('.col-md-5').append('<p id="items">' + itemNbr2 + ' Adet ' + toAdd + '<span class="extra">Sipariş listesinden çıkarmak için tıklayın!</span>' + '</p>');
ordersArray.push(itemNbr2 + ' Adet ' + toAdd);
alert(ordersArray.toString());
};
});
如何获取列表中已单击项目的索引?首先,您可以使项目的id唯一,或者像我在本解决方案中所做的那样使用类而不是id
$('#addToCartButton2').click(function(){
var toAdd=$("#chooseItem2 option:selected").text();
var itemNbr2=$("#itemNbr2").val();
if(toAdd !== defaultSelectFormText && itemNbr2 >=1){
$('#defaultText').remove();
$('.col-md-5').append('<p class="items"><span>' + itemNbr2 + ' Adet ' + toAdd + '</span><span class="extra">Sipariş listesinden çıkarmak için tıklayın!</span>' + '</p>');
ordersArray.push(itemNbr2 + ' Adet ' + toAdd);
alert(ordersArray.toString());
};
});
$(document).on('click', '.items', function() {
var index = ordersArray.indexOf($('span:first', this).text());
alert(index);
if (index > -1) {
ordersArray.splice(index, 1);
}
$(this).remove();
});
$('addToCartButton2')。单击(函数(){
var toAdd=$(“#选择项2选项:选中”).text();
var itemNbr2=$(“#itemNbr2”).val();
如果(toAdd!==defaultSelectFormText&&ItemNb2>=1){
$('#defaultText')。删除();
$('.col-md-5')。追加(''+itemNbr2+'Adet'+toAdd+'Siparişlistensindenıkarmak için tıklayın!'+'
);
ordersArray.push(itemnb2+'Adet'+toAdd);
警报(ordersArray.toString());
};
});
$(文档).on('单击','.items',函数(){
var index=ordersArray.indexOf($('span:first',this.text());
警报(索引);
如果(索引>-1){
ordersArray.拼接(索引,1);
}
$(this.remove();
});
要从该列表中删除单击的项目,请进行以下更改:
$(document).on('click', '#items', function() {
var index = ordersArray.indexOf($(this).text());
alert(index);
if (index > -1) {
ordersArray.splice(index, 1);
}
$(this).remove();
});
看起来你删除项目的方法有点复杂。 为什么不为要追加的每个项目使用uniqe ID并删除呢
ID为的项目?ID应该是唯一的。使用类绑定元素集合的事件。更好的办法是提供小提琴
$(document).on('click', '#items', function() {
var index = ordersArray.indexOf($(this).text());
alert(index);
if (index > -1) {
ordersArray.splice(index, 1);
}
$(this).remove();
});