在ng-model中使用DOT问题

时间:2015-06-11 19:12:01

标签: angularjs

我想使用select来显示/隐藏输入。

这是我的小提琴,但它不起作用。我想,原因将是ng-model中的点?!

HTML

<div>
<select ng-options="t.name as t.name for t in fields" ng-model="rule.field">
</select>
<input ng-show="rule.field==2" type="text">

JS

var app = angular.module('app', []);
app.controller('QueryBuilderCtrl', ['$scope',
function ($scope) {

    $scope.fields = [{
                    id: 1, name : 'Title'
                }, {
                    id: 2, name : 'Abstract'
                }, {
                    id: 3, name : 'Age'
                }, {
                    id: 4, name : 'Date'
                }, {
                    id: 5, name : 'In Progress'
                }];

}
]);

JSFiddle

感谢您的提示和帮助

2 个答案:

答案 0 :(得分:1)

<select ng-options="t.name as t.name for t in fields" ng-model="rule.field">

这意味着当您在选择框中选择一个选项时,rule.field将包含所选选项的name(即'Title''Abstract'或。 ..)。并且名称不能等于2。

使用ng-options="t.id as t.name for t in fields"

答案 1 :(得分:1)

试试

<select ng-options="t.id as t.name for t in fields" ng-model="rule.field">