关于ng-option的用法

数据是这样的

clipboard.png

那我如果用ng-option怎么循环出来这些数据

现在代码是这样的:

<div class="am-form-group">
            <label class="am-u-sm-3 am-u-md-3 am-u-lg-2 am-form-label am-text-right">导演国籍:</label>
            <div class="am-u-sm-9 am-u-md-9 am-u-lg-10">
                <select id="direct-country" class="am-radius max-width-250" ng-model="selected_cn_0" name="film[nationality]">
                    <option value="{{$index}}" ng-repeat="country in countrys_0">{{country}}</option>
                </select>
                <span class="am-form-caret"></span>
            </div>
        </div>

控制器:

$scope.countrys_1 = data.nationality;
$scope.selected_cn_1 = data.nationality[46];

我想让option的value是 下标,不知道怎么改,默认显示为第46条数据的值

阅读 3.2k
2 个回答

html:

<select ng-model="selected_cn_1" ng-options="value for (key,value) in countrys_1"></select>

js

$scope.countrys_1 = data.nationality;
$scope.selected_cn_1 = data.nationality[46];//通过ng-model和select绑定

ng-options的用法

    <div class="am-form-group">
        <label class="am-u-sm-3 am-u-md-3 am-u-lg-2 am-form-label am-text-right">导演国籍:</label>
        <div class="am-u-sm-9 am-u-md-9 am-u-lg-10">
            <select id="direct-country" class="am-radius max-width-250" ng-model="selected_cn_0" number name="film[nationality]">
                <option value="{{k}}" ng-repeat="(k, v) in countrys_0">{{v}}</option>
            </select>
            <span class="am-form-caret"></span>
        </div>
    </div>

convert-to-number

    //http://stackoverflow.com/a/35407627/2586541
    app.directive('number', function () {
        return {
            require: 'ngModel',
            link: function (scope, element, attrs, ngModel) {
                //value
                ngModel.$parsers.push(function (val) {
                    //return '' + val;
                    return parseInt(val, 10);
                });
                //show
                ngModel.$formatters.push(function (val) {
                    //return parseInt(val, 10);
                    return '' + parseInt(val || 0, 10);
                });
            }
        };
    });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进