gpt4 book ai didi

javascript - 如何根据 ng-options 设置隐藏值?

转载 作者:行者123 更新时间:2023-11-27 23:23:22 25 4
gpt4 key购买 nike

我有一个使用 ng-options 指令的选择。

我想根据所选选项为 $scope 分配第二个值。

  $scope.options = [
{name: 'Apple', id: '1'},
{name: 'Orange', id: '2'},
{name: 'Banana', id: '3'},
{name: 'Pear', id: '4'},
];

参见plunker .

我试图根据所选的 option.name 声明 option.id,以便我可以在 $http.post 中传递它。

基本上就像一个隐藏字段。这是 ng-init 的工作还是其他的工作?

谢谢!

这是完整的 plunker 代码。

html

<!DOCTYPE html>
<html ng-app="select">

<head>
<link rel="stylesheet" href="style.css">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.js"></script>
<script src="script.js"></script>
</head>

<body ng-controller="SelectController">
<div class="form-group col-md-3">
<label for="select1">Select 1:</label>
<select ng-model="newForm.select1"
ng-options="option.name as option.name for option in options | filter: newForm.select2 && {name: '!' + newForm.select2} | filter: newForm.select3 && {name: '!' + newForm.select3}"
class="form-control">
<option value=""></option>
</select>
</div>
<div class="row"><br></div>
<div class="form-group col-md-3">
<label for="select2">Select 2:</label>
<select ng-model="newForm.select2"
ng-options="option.name as option.name for option in options | filter: newForm.select1 && {name: '!' + newForm.select1} | filter: newForm.select3 && {name: '!' + newForm.select3}"
class="form-control">
<option value=""></option>
</select>
</div>
<div class="row"><br></div>
<div class="form-group col-md-3">
<label for="select2">Select 3:</label>
<select ng-model="newForm.select3"
ng-options="option.name as option.name for option in options | filter: newForm.select1 && {name: '!' + newForm.select1} | filter: newForm.select2 && {name: '!' + newForm.select2}"
class="form-control">
<option value=""></option>
</select>
</div>
<div>
<pre>
<code>
Select 1: Name:{{ newForm.select1 }} Id:{{ newForm.select1.id }}
</code>
</pre>
</div>
</body>

</html>

JS

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

app.controller('SelectController', function($scope) {

$scope.options = [
{name: 'Apple', id: '1'},
{name: 'Orange', id: '2'},
{name: 'Banana', id: '3'},
{name: 'Pear', id: '4'},
];

});

最佳答案

来自ngOptions文档:

When an item in the menu is selected, the array element or object property represented by the selected option will be bound to the model identified by the ngModel directive.

ng-model对于第一种形式,绑定(bind)为 newForm.select1 。这意味着第一个表单的选定选项可通过以下方式获得:

$scope.newForm.select1

<select> 中的选项值元素必须是 $scope.options 中的项目数组:

<select ng-model="newForm.select1"
ng-options="option as option.name for option in options | filter: newForm.select2 && {name: '!' + newForm.select2} | filter: newForm.select3 && {name: '!' + newForm.select3}"
class="form-control">
<option value=""></option>
</select>

关于javascript - 如何根据 ng-options 设置隐藏值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35201224/

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