Wie kann ich mehrere Werte für ng-Behinderte in angular js?
Wie kann ich mehrere Werte für ng-Behinderte in angular js?
Mein problem erklärt sich mit diesem folgenden JS fiddle:
http://jsfiddle.net/FJf4v/10/
<div ng-app>
<div ng-controller="myCnt">
<h3>A ->> <input type="checkbox" ng-model="check"> </input></h3>
<h3>B ->> <input type="checkbox" ng-model="check"> </input></h3>
<br/>
<input type="checkbox" ng-disabled="check">Chkbox1 to be disabled</input>
<input type="checkbox" ng-disabled="check">Chkbox2 to be disabled</input>
<hr/>
</div>
</div>
Javascript:
function myCnt($scope) {
//
}
In diesem fiddle, gibt es insgesamt 4 Kontrollkästchen mit der Bezeichnung als A -, B -, Chkbox1 und Chkbox2.
Was ich Suche, ist das deaktivieren beider chkbox1 und chkbox2 nach der überprüfung eines von A und B aktiviere. Jedoch, Ihre getan, auf halbem Weg. Wenn Sie auf entweder A oder B, diese beiden Tasten sind geprüft und unten chkboxes sind immer deaktiviert. Aber, ich möchte nicht geprüft A und B beide Checkboxen wenn ich klicken Sie einfach auf einen von Ihnen.
Ich hoffe, Sie erhalten meine Frage.
Danke!!!!
Vielen Dank !! Gibt es einen globalen Weg, oder den einfacheren Weg, wenn ich zu viele ng-Modelle?
Wenn Sie eine wirklich lange Liste der Modelle, kann man es mit eine Funktion und ein Objekt für die Modelle, aber es ist zu lange zu erklären, in den Kommentaren, so werde ich es als Antwort 🙂
InformationsquelleAutor Rakmo | 2013-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
So, wie ich sagte in den Kommentaren, wenn Sie wollen, erreichen dies mit einem sehr langen Liste von Checkboxen, können Sie versuchen, auf diese Weise : (ja, für dieses Beispiel "sehr lange" bedeutet 10)
Die Modelle
Sie können mit einem einfachen Objekt, das enthält alle Werte der Checkboxen, habe ich diese mit einem ng-repeat, aber es könnte alles sein, nur verwenden die gleichen wiederholenden Objekt :
Dieses Objekt wird initialisiert den controller, ich habe nicht einen beliebigen Wert angeben, aber man könnte zum Beispiel einige Checkboxen hier :
Die Deaktivierung der Funktion
Nichts sehr schwierig, hier, statt einer langen Liste der | | - Werte, die wir Durchlaufen die Modelle und true zurückgeben, sobald wir finden, ein markiertes Feld :
Dann können wir über diese Funktion in der HTML :
Den geänderten fiddle, um dies zu testen : http://jsfiddle.net/DotDotDot/FJf4v/12/
Spaß haben
sicher, es gibt viele Implementierungen in vielen Bibliotheken, aber ich bin mir nicht sicher, Sie werden gewinnen perfs über eine Bibliothek nur für diese, unter Berücksichtigung der Ladezeiten usw... Aber ehrlich gesagt, ich habe nie tests mit dieser, es wäre eine gute Idee, auf ein großes Projekt mit einer großen Anzahl von loops, aber für dieses Beispiel, ich bin mir nicht sicher, ob es wirklich nötig ist 😉
Ich machte die Bemerkung, ohne Rücksicht auf performance oder Ladezeiten, aber das sagte Unterstrich 5kb minified und wird ausprobiert und getestet. Für mich ist es alles über das Leben leichter machen für sich selbst, die Unterstrich definitiv nicht für diese Art von sich wiederholenden Aufgabe. Die ganze Schleife und der Funktion call kann ersetzt werden durch _.enthält(checkModels,true) direkt in die ng-disabled-Attribut.
InformationsquelleAutor DotDotDot
Verwenden Sie zwei separate Variablen ich.e checkA und checkB. Dann für ng-deaktiviert die Verwendung des logischen ODER-operator wie diese:
Ich denke, das ist, was Sie versuchen zu erreichen...?
Könnten Sie erklären, eine Funktion innerhalb Ihrer Steuerung zu tun, ODER ' Ing, wenn Sie eine Menge von Checkboxen. Dies würde zumindest entfernen Sie einige der Ausführlichkeit erforderlich, die in der ng-deaktiviert. Wenn Sie eine Menge von Checkboxen, aber ich würde empfehlen die Verwendung von ng-repeat als DotDotDot schlägt.
Hey @Drew R, Bitte nicht dagegen. Die Antwort, die ich suchte, war beantwortet von DotDotDot, das ist, warum! Yours Antwort ist auch korrekt, aber meiner Meinung nach, der richtige Weg ist, andere Weg, das ist, warum !! Ihre und ist auch empfehlenswert für andere, die arbeiten auf eine kleine app !!
InformationsquelleAutor Drew R