In einer Tabelle habe ich eine Liste von Benutzern und einige Optionen, die ich für sie auswählen kann.Meteor aktivieren/deaktivieren Kontrollkästchen mit Radio, zeigen/verstecken mit Kontrollkästchen
||USER || OPTIONs ||
||User1 || Opt1 || Opt2 ||
||User2 || Opt1 || Opt2 ||
Der Anwender als Radio-Button angezeigt wird, ist die Optionen Kontrollkästchen von Informationen über den Benutzer, die ich (beide/nur einer zur Zeit) angezeigt werden soll.
1 Ich möchte die Auswahl der Optionen deaktivieren, wenn Sie den Benutzer nicht zuvor ausgewählt haben. Nachdem der Benutzer ausgewählt ist, können Sie die gewünschten Optionen auswählen
2 Ich muss etwas im Code Becose ändern, wenn ich jetzt den Benutzer 1 und die Option 1 auswähle, und dann wähle ich den Benutzer 2 Ich kann die Info sehen für die Option 1 von Benutzer 2, ohne das Kontrollkästchen Option 1 zu aktivieren.
Dies ist mein Code:
HTML
<template name="patients">
<table>
<tr>
<th>Patient</th>
<th>Options</th>
</tr>
</table>
{{#each Users}}
<table>
<tr>
<th>
<label><input type="radio" class="selected" name="patient" value="{{this._id}}">{{this.profile.lastName}} {{this.profile.firstName}}</label>
</th>
<td>
<div class="patinf">
<label><input type="checkbox" class="infos" name="{{this._id}}" id="showInfos"><span>OPT1</span></label>
<label><input type="checkbox" class="answers" name="{{this._id}}" id="showAnswers"><span>OPT2</i></span></label>
</div>
</td>
</tr>
</table>
{{/each}}
{{>display}}
</template>
<template name="display">
{{#if isInfosClicked}}
<div name="showInfos">
<h4>Infos for {{data.profile.lastName}} {{data.profile.firstName}}</h4>
</div>
{{/if}}
{{#if isAnswersClicked}}
<div name="showAnswers">
<h4>Answers for {{data.profile.lastName}} {{data.profile.firstName}}</h4>
</div>
{{/if}}
</template>
Das ist mein JS
Template.patients.helpers({
Users: function() {
return Meteor.users.find({});
},
});
Template.patients.events({
'click .selected': function(){
var selPat = $('input[name="patient"]:checked').val();
Session.set("selPat",selPat);
}
});
Template.patients.events({
'click .infos': function(){
Session.set("infosClicked", true);
},
'click .answers': function(){
Session.set("answersClicked", true);
},
});
Template.display.helpers({
isInfosClicked: function(){
return Session.get("infosClicked");
},
isAnswersClicked: function(){
return Session.get("answersClicked");
},
data: function(){
var PAT= Meteor.users.findOne({ _id: Session.get("selPat")});
return PAT;
}
});
Es funktioniert nicht: es scheint, dass. Filter nicht mit Meteor.users funktioniert, das ist meine Benutzersammlung. Was schlagen Sie vor? – Jenny
Ich habe 'Filter' verwendet, nur weil ich eine gefälschte Benutzer-Sammlung benutzt habe. Verwende es mit 'Meteor.findOne()' wie zuvor. – cowCrazy
Ich habe diesen Fehler Exception in Vorlage Helper: TypeError: Kann nicht lesen Eigenschaft '_id' von undefined bei Object.Meteor.users.findOne – Jenny