Sélectionnez options par ng-click ne fonctionne pas dans le navigateur google chrome en utilisant AngularJS
J'ai besoin d'utiliser ng-cliquez sur afin que je puisse passer trois paramètres et mettre dans mon local json, basé sur la sélection.
<select>
<option id="" value="">--Select--</option>
<option ng-repeat="comparison in comparisons" ng-click="setSkillComparisonOperator(index,comparison.sid,comparison.name)"
ng-selected="comparison.sid == data.value.comparisonOperator.sid">{{comparison.name}}</option>
</select>
Je peux l'utiliser ng et ng-modifier comme suit.
<select ng-model="item" ng-options="o.id as o.id for o in list" ng-change="onFunction(item)">{{item}}</select>
Dans ce cas , je ne peux pas passer trois paramètres comme suit.
<select ng-model="item" ng-options="o.id as o.id for o in list" ng-change="onFunction(o.id,o.name)">{{item}}</select>
- Vous n'utilisez pas l'objet
o
en ng-car il est uniquement valide dans la partie inférieure de la portée. La valeur du point est valide en raison de ng-model. Désormais,ng-change="onFunction(item.id, item.name)"
serait correct. Aussi, supprimer{{item}}
de l'intérieur de la<select/>
tag. - Veuillez consulter : stackoverflow.com/questions/17337042/...
Vous devez vous connecter pour publier un commentaire.
Enfin , j'ai trouvé la solution.
JS fiddle lien
Page HTML est
Javascript est
Angulaire prend réellement soin de ce formulaire, vous avec
ng:model
. Vous n'avez pas besoin de passer des paramètres.Dans votre fonction de rappel vous pouvez le faire:
J'ai le même problème et je résoudre ce que Krish Lakshmanan fait. J'ai également ajouté:
OU de force pour sélectionner un membre de la liste)
Je ne sais pas pourquoi, mais à l'aide de google Chrome avec AngularJs, ce bug de sélection qui se passe, je pense que le problème est au Chrome, parce que Firefox cela a fonctionné (je pensais que firefox définit la valeur sur focus de l'entrée).
J'espère que j'ai aidé quelqu'un, si vous trouvez la solution sans l'aide d'un vide, d'option ou de forcer la sélection d'un membre, s'il vous plaît dites-moi! 🙂