jquery - Splice removing random elements issue in javascript -


i trying create interactive shopping cart using jquery, splice issue ruined everything, because when delete element directly works perfect me, going dynamically changes doesn't work deleting random elements in array after updates indexes.

<script src="//code.jquery.com/jquery-1.10.2.js"></script> <div id="mydiv2"></div> <div id="mydiv"></div> <script>  var wishlistarray = ["item1", "item2", "item3", "item4", "item5"];   function wishlist_show() {       var wishlistarraydom = "";      jquery.each(wishlistarray, function (i, wishlistid) {            wishlistarraydom += '<div><a href="javascript:;" class="rem-from-wishlist" value="' + + '">remove( ' + wishlistid + ' )</a></div>';      });       $('#mydiv').empty();      $('#mydiv').html(wishlistarraydom);      wishlist_update_rem();       console.log('all: ' + wishlistarray.length);      console.log('arr: ' + wishlistarray);  }   function wishlist_rem(num) {      console.log('value: ' + $(this).attr('value'));      console.log('all: ' + wishlistarray.length);      console.log('arr: ' + wishlistarray);      $(this).parent().slideup("slow", function () {          console.log(wishlistarray.splice($(this).attr('value'), 1));          wishlist_show();       });      $('#mydiv2').append('<br>remove ' + wishlistarray[parseint($(this).attr('value'))] + ' of element' + +$(this).attr('value'));  }   wishlist_show();   function wishlist_update_rem() {      $(".rem-from-wishlist").unbind("click");      $(".rem-from-wishlist").click(wishlist_rem);  } </script> 

jsfiddle example

update: solved myself, all, stackoverflow best.

ready used jsfiddle http://jsfiddle.net/ar0zrxwc/

it's not issue splice(), it's issue scoping of this.

change removal function this:

function wishlist_rem(num) {       var idx = parseint($(this).attr('value')));      $(this).parent().slideup("slow", function () {          wishlistarray.splice(idx, 1));          wishlist_show();       });      $('#mydiv2').append('<br>remove ' + wishlistarray[parseint($(this).attr('value'))] + ' of element' + +$(this).attr('value'));  } 

Comments

Popular posts from this blog

java - Plugin org.apache.maven.plugins:maven-install-plugin:2.4 or one of its dependencies could not be resolved -

Round ImageView Android -

How can I utilize Yahoo Weather API in android -