I'm trying to get my head around observables in knockout js! However, I'm facing a problem implementing the remove function on an observable array.
My js is as follow:
$(function () {
    var data = [{ name: "name1" }, { name: "name2" }, { name: "name3"}];
    var viewModel = {
        namesList: ko.observableArray(data),
        nameToAdd: ko.observable("name4"),
        myCustomAddItem: function () {
            this.namesList.push({ name: this.nameToAdd() });
        },
        myCustomRemove: function () {
            console.log("before + " + this.nameToAdd());
            this.namesList.remove(this.nameToAdd());
            console.log("after + " + this.nameToAdd());
        }
    };
    ko.applyBindings(viewModel);
});
and my html is:
Name To add/remove <input type="text" data-bind="value: nameToAdd, valueUpdate: 'afterkeydown'"/>
<ul data-bind="template: {name: 'listTemp1', foreach :namesList}">
</ul>
<p>
    <button data-bind="click: myCustomAddItem">Add Item</button>
    <button data-bind="click: myCustomRemove">Remove Item</button>
    <script id="listTemp1" type="text/html">
        <li data-bind="text:name"> </li>
    </script>
</p>
my myCustomAddItem works fine, but not the myCustomRemove. I also have put a console.log before and after the this.namesList.remove(this.nameToAdd()); to see if anything's wrong there, but I cannot see any error in there. When I click the "Remove Item" button, firebug console shows the logs but the item's not removed from the list.
Any help appreciated
 
     
     
     
    