2016-03-24 3 views
1

pourquoi supprimer tout et indexOf ne fonctionne pas? Trier, épisser, couper et inverser fonctionne bien.Knockout.js "removeAll" funtion ne fonctionne pas

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
<script type='text/javascript' src='knockout-3.4.0.js'> </script> 
</head> 
<body> 
    <table height="100" border="1" width="800"> 
    <tr> 
     <td> 
     <span data-bind="text : array1()"></span> 
    </td> 
    </tr> 
</table> 
<div> 
    <table height="100" border="1" width="1000"> 
    <tr> 
     <td><button data-bind="click : sort1" >Sort</button></td> 
     <td><button data-bind="click : shift1" >Shift</button></td> 
     <td><button data-bind="click : reverse1" >Reverse</button></td> 
     <td><button data-bind="click : splice1" >Splice</button></td> 
     <td><button data-bind="click : indexof1" >IndexOf</button></td> 
     <td><button data-bind="click : slice1" >Slice</button><br></td> 
     <td><button data-bind="click : remove1" >remove</button></td> 
    <td><button data-bind="click : removeAll1" >removeAll</button></td> 
    <td><button data-bind="click : removeFunction" >remFunction</button>/td> 
    </tr> 
</table> 
<table height="100" border="1" width="1000"> 
    <tr> 
    <td>Enter Text <input data-bind="value: textval"></td></input> 
    </tr> 
</table> 
</div> 

<span data-bind="text: textval"></span> 
<script type="text/javascript"> 
var myModel={ 
    array1 : ko.observableArray(["animal","boy","cat","dog","elf","fox"]), 
    textval : ko.observable(""), 
    sort1 : function(){ 
     myModel.array1.sort(); 
    }, 

    shift1 : function(){ 
     alert(myModel.val()); 
     myModel.array1.unshift(myModel.textval()); 

    }, 

Le décalage ne fonctionne pas correctement?

 reverse1 : function(){ 
     myModel.array1.reverse(); 
    }, 

    splice1 : function(){ 
     alert(myModel.array1.splice(1,3)); 
    }, 
    indexof1: function(){ 
     alert(myModel.textval()); 
     alert(myModel.array1.indexOf(myModel.textval())); 
    }, 

    slice1 : function(){ 
     alert(myModel.array1.slice(1,4)); 
    }, 

    removeAll1 : function(){ 
     alert("removall"); 
     myModel.array1.removeAll(); 
    } 

removeAll est également ne fonctionne pas properly.I essayé beaucoup de temps, mais en jsp il est pas du tout fonctionne.

} 
    ko.applyBindings(myModel); 
    </script> 
    </body> 
</html> 
+0

Votre méthode 'shift1' utilise' unshift' en interne ... Mais plus important encore: pourriez-vous expliquer ce que vous voulez dire par "ne fonctionne pas correctement". Des erreurs ont-elles été enregistrées dans votre console? – user3297291

+0

Je l'utilise en eclipse indigo, sur une page jsp. le code insère simplement des valeurs vides, et removeAll ne fait rien. J'ai essayé plusieurs fois pendant des heures, cherché sur le net, le code semble être simple et bien mais il ne fonctionne toujours pas. – Shaurya

Répondre

0

Pour RemoveAll juste vider le tableau

myModel.array1([]); 

Pour Shifting:

// this is falling over -- alert(myModel.val()); <- should be myModel.textval() 
// therefore not getting to this. 
myModel.array1.unshift(myModel.textval()); 

Aussi, si vous pouvez créer un jsFiddle de cela.

0

Il y a des problèmes dans votre balisage et votre viewmodel, ouvrez la console du navigateur sur ce violon et regardez les erreurs pour les différentes actions:

https://jsfiddle.net/z15d5awa/

 shift1 : function(){ 
     alert(myModel.val()); 
     myModel.array1.unshift(myModel.textval()); 
    }, 

myModel.val() ce qui est-ce?

+0

merci de m'avoir fait remarquer, en essayant de différentes façons, j'ai oublié de mettre à jour cette section de code.yais c'était une erreur !! après l'avoir changé en "alert (myModel.textval());" ça fonctionne bien. merci tyler_mitchell, brettkc pour votre aide. – Shaurya

+0

Qu'en est-il de removeAll, y at-il une erreur aussi ?? – Shaurya