javascript - 从 Controller 访问 templateUrl 内的元素 - AngularJS

标签 javascript angularjs

我需要从 Controller 填充模板 html 文件内的 select(option) 元素。我可以成功完成,但无法给出默认值(以避免第一个空选项)

template.html 文件

...
<select name="drill_down" id="drill_down" ng-model="drill_down"
ng-options="item.value for item in items"></select>
...

controller.js 文件

(function () {
    'use strict';

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

app.config(function($stateProvider) {
    $stateProvider
        .state('appname', {
            url: '/appname',
            templateUrl: '/appname/template.html',
            controller: 'AppCtrl'
        });
});

app.controller('AppCtrl', AppCtrl);

function AppCtrl($scope, MyService) {
    $scope.college_majors_full = [];
    $scope.job_title_functions = [];

    MyService.getData().then(function(rows) {
        $scope.items = rows;   // this works - populates select options

        $scope.drill_down = $scope.items[0].value;  // this doesn't work
    });
...

有什么帮助吗?谢谢。

最佳答案

您的选项只有项目的文本属性

您正在分配值而不是 ID

尝试这样

$scope.drill_down = $scope.items[0].value; 

或者您可以在选项中创建值文本类型

尝试这样

查看

<select name="drill_down" id="drill_down" ng-model="drill_down"
ng-options="item.id as item.value for item in items"></select>

Controller

$scope.drill_down = $scope.items[0].id;

关于javascript - 从 Controller 访问 templateUrl 内的元素 - AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32145070/

相关文章:

javascript - 每次调用一个函数你能返回不同的值吗? - JavaScript

javascript - jQuery .click 事件在页面加载时运行

angularjs - fatal error : spawn cmd ENOENT -- grunt serve

javascript - AngularJs无法读取未定义的属性 "UpdateTime"

javascript - 如何使 javascript 链接表现得像 html 链接?

javascript - 为什么这个函数表现得很奇怪

javascript - 如何确保外部 JS 代码作为第一个加载

用于文本/数字的 AngularJS 自定义过滤器

angularjs - 在指令实例之间进行通信的最佳方式

javascript - 使用键作为变量的 Angular 翻译不起作用