gpt4 book ai didi

javascript - 在 Angular 中使用 JSON 对象的默认选择选项

转载 作者:行者123 更新时间:2023-12-02 14:25:50 26 4
gpt4 key购买 nike

我有以下代码来填充页面上的某个选择项:

<select ng-model="activity.selectedParent" ng-options="parent as parent.title for parent in parents track by parent._id"></select><br>

我想知道是否可以指定一个默认选项,以便我可以给它一个标题和一个 ID。例如,如果选择默认,则 activity.selectedParent.Title = "None"activity.selectedParent.id = 0 。是否可以在 <select> 中以某种方式指定这一点?使用 Angular 指令标记?否则,实现这一目标的最有效方法是什么?

最佳答案

如果我很好地理解你的问题,即使选择了默认值,你也想设置一个对象,那么你可以通过两种方式来实现:

  1. 使用ngInit select 标记内的指令,如下所示:

    ng-init="selectedParent = { '_id': 0, 'title': '无' };"

  2. 在 Controller 中初始化对象:

    $scope.selectedParent = { "_id": 0, "title": "无"};

编辑:

我想我现在得到了你想要的:你想要一个默认选项而不是空白作为第一个选项,对吧?如果是这样,您可以简单地使用 unshift 将此元素添加到现有数组中。方法,因此它将被放置为第一个元素,如下所示:

$scope.parents.unshift($scope.selectedParent);

这是一个工作片段:

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

app.controller('mainCtrl', function($scope) {
$scope.parents = [
{
"_id":1,
"title":"first"
},
{
"_id":2,
"title":"second"
},
{
"_id":3,
"title":"third"
},
{
"_id":4,
"title":"four"
}
];

$scope.selectedParent = {
"_id": 0,
"title": "None"
};

$scope.parents.unshift($scope.selectedParent);
});
<!DOCTYPE html>
<html ng-app="app">

<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script>
</head>

<body ng-controller="mainCtrl">
<select ng-model="selectedParent" ng-options="parent as parent.title for parent in parents track by parent._id"></select>
<hr>
Selected: <span ng-bind="selectedParent | json"></span>
</body>

</html>

关于javascript - 在 Angular 中使用 JSON 对象的默认选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38258537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com