7
votes

JS angulaire Sélectionnez avec des options manuelles

Nous avons des déposons dans notre application que nous pouvons non forts> utiliser NG-Options forts> avec car nous devons définir l'attribut de titre sur la balise . n'est pas possible avec NG-Options forte>.

La raison pour laquelle nous avons besoin du titre est parce que c'est-à-dire que c'est-à-dire que p> Maintenant, pour voir le problème, je vais regarder le JS Fiddle suivant. P>

http://jsfiddle.net/nstuart/nf7ej/ (Bit HTML) P>

<div ng-app="myApp" ng-controller="MyCtrl">
    <select ng-model="params.value">
        <option value="">Any</option>
        <option ng-repeat="v in options" value="{{v.value}}" title="{{v.name}}" ng-selected="{{v.value == params.value}}">{{v.name}}</option>
    </select>
    <p>{{params.value}}</p>
</div>


0 commentaires

5 Réponses :


1
votes
<option ng-repeat="v in options" value="{{v.value}}" title="{{v.name}}"
        ng-selected="checkOption(v.value)">{{v.name}}</option>

$scope.checkOption = function(value){
    return($scope.params.value == value);
}
Fiddle[UPDATE] forgot to pass value variable.  Updated fiddle and answer.

3 commentaires

Jetez un coup d'œil à ma réponse. NGSelected prend une expression comme argument. Ce commentaire sur la page Docs est incorrect. Dans votre réponse, ici CheckOption (V.Value) est une chaîne qui est évaluée par angulaire comme une expression dans la portée actuelle. Les expressions sont donc très bien.


La réponse de Satchmorun acceptée comme il est plus techniquement correct. Vous venez de quitter le {{}} et cela prendra une fonction ou un chèque régulier ==. Merci bien que Ben, était dans la bonne direction et l'aurait aussi réparé.


@ Nick.Stuart, je suis tout à fait d'accord. J'ai eu un doh! moment après avoir lu la réponse de Satchmorun aussi.



16
votes

En réalité, retirez simplement les accolades frisées de l'expression dans NG-sélectionnée et fonctionnera: xxx

violon


1 commentaires

Gaahhhh! Merci, c'était ça. J'ai mis à jour le violon afin que cela fonctionne. Il ajoute toujours l'étrange vide



0
votes

Vous pouvez également consulter la directive Select2 dans http: // angulaire- ui.github.com/#directives-Select2


0 commentaires

0
votes

Dans mon code, je ré-calculcule Sélectionnez le titre sur NG-Change = "ChangeItem ()"

html xxx

app.js < Pré> xxx

Fiddle


0 commentaires

1
votes

Pour les options manuelles, il vous suffit d'utiliser la directive NG-Model . Cette directive NG-Model donne une liaison de données à deux voies pour l'option sélectionnée.

jsfiddle: http://jsfiddle.net/rpaul/1p9b5et8/1/ xxx


0 commentaires