简体   繁体   English

AngularJS:通过值设置默认选择的选项

[英]AngularJS: set default selected option via value

I'm trying to figure out how to change what option is selected in a menu, by value . 我试图弄清楚如何通过value更改菜单中选择的选项。

Example: 例:

HTML 的HTML

<div data-ng-app="myApp">
    <div data-ng-controller="myController">
        <p>n_images = {{n_images}}</p>
        <select data-ng-model="n_images">
            <option data-ng-selected="{{o.value == n_images}}"
                    data-ng-repeat="o in n_images_options" 
                    value="{{o.value}}">{{o.text}}</option>
        </select>
    </div>  
</div>

JavaScript 的JavaScript

'use strict';

var myApp = angular.module('myApp', []);

myApp.controller('myController', ['$scope',
    function($scope) {
        $scope.n_images = 4;

        $scope.n_images_options = [
            {value: 1, text: "1 image"},
            {value: 2, text: "2 images"},
            {value: 3, text: "3 images"},
            {value: 4, text: "4 images"},
            {value: 5, text: "5 images"},
            {value: 6, text: "6 images"},
            {value: 7, text: "7 images"},
            {value: 8, text: "8 images"}
        ];
    }
]);

This works using AngularJS 1.1.5 ( JSFiddle example ). 这可以在AngularJS 1.1.5( JSFiddle示例 )中使用。

However, it does not work in newer versions of AngularJS, such as version 1.4.6 ( JSFiddle example ). 然而,它并不在AngularJS的新版本,如1.4.6版(工作的jsfiddle例子 )。

How do I change what option is selected by using a value? 如何更改使用值选择的选项? I'm trying to create a select menu that will be initialized by a query string value from the URL. 我正在尝试创建一个选择菜单,该菜单将由URL中的查询字符串值初始化。

For best results you need to use ng-options : 为了获得最佳结果,您需要使用ng-options

<select data-ng-model="n_images" ng-options="o.value as o.text for o in n_images_options">
</select>

https://jsfiddle.net/eywLkdub/ https://jsfiddle.net/eywLkdub/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM