[英]How to remove the selected value from the array using jquery
我想從數組中刪除特定值。 我編寫的代碼如下:
$(".remove", document.getElementById("TXT")).live("click", function () {
$(this).parent().remove();
var removeitem = $(this).parent().attr('id');
pushvar.splice($.inArray(removeitem, pushvar), 1);
});
在上面的代碼中, pushvar
是一個數組。 假設它包含3個元素。當我們點擊其中一個刪除按鈕時,該函數將重復三次。 例如, pushvar
包含[5,6,7]
元素。 如果我點擊6的刪除按鈕,那么該功能將重復三次。 但是
pushvar.splice($.inArray(removeitem, pushvar), 1);
將刪除所有三個元素。 但是當我點擊刪除類時,我只想從數組中刪除6。 我怎樣才能做到這一點。
你可以這樣做:
var myArray = [10, 20, 30, 40, 50];
var removeThis = 30;
myArray = jQuery.grep(myArray, function(data){
return data != removeThis;
});
live()
已棄用
不推薦使用jQueryversion:1.7,刪除:1.9
所以使用on
$(".remove,#TXT").on("click", function () {
var removeitem = $(this).parent().attr('id'); //get parent id
$(this).parent().remove(); //remove later
pushvar.splice($.inArray(removeitem, pushvar), 1);
});
如果萬一加到您的選擇動態,然后使用on
代表
$(document).on("click", ".remove,#TXT", function () {
試試這個:
$(".remove", document.getElementById("TXT")).live("click", function () {
$(this).parent().remove();
var removeitem = $(this).parent().attr('id');
if ($.inArray(removeitem, pushvar) > 0) pushvar.splice($.inArray(removeitem, pushvar), 1);
});
試試這樣吧
pushvar = [5,6,7];
$('.remove').on("click", function () {
var removeitem = $(this).attr('id');
pushvar.splice($.inArray(parseInt(removeitem), pushvar), 1);
document.write(pushvar);
return false;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.