我有这个代码和信息:
$scope.options = [
{ id: 1, label: "My label" },
{ id: 2, label: "My label 2" }
];
$scope.selected = 2;
<select ng-options="opt.label for opt in options" ng-model="selected">
<option value="">Select one</option>
</select>
Run Code Online (Sandbox Code Playgroud)
但是,选项创建如下:
<select ng-options="opt.label for opt in options" ng-model="selected">
<option value="">Select one</option>
<option value="0">My label</option>
<option value="1">My label 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如何将所选选项设置为我的标签2?我知道可以做到:
$scope.selected = $scope.options[1];
Run Code Online (Sandbox Code Playgroud)
但我的问题是选项是在一个指令中创建的,那时我不知道1)有多少个值$scope.options,也不知道2)数据库中所选选项的索引是什么.我唯一知道的是id(在对象中).
我的指令的html是这样的:
<select ng-switch-when="select" ng-model="form.model[element.model]" ng-options="{{element.rule}}"></select>
Run Code Online (Sandbox Code Playgroud)
在哪里element.rule:
rule: "role.role for role in element.options"
Run Code Online (Sandbox Code Playgroud)
并且element.options具有选项的数组,并且form.model[element.model]具有所选选项的id.
如何在数组中获取ID为X的元素的索引 …
我正在使用AngularJS在一些应用程序中工作,我正在使用该ng-options指令,但我有一个问题.当我选择"Provincia"时,"Cantón"选择仅显示数组中的最后一个元素.
谁知道问题是什么?
这是我的HTML代码:
<div class="form-group">
<select class="form-control" ng-model="selected.provincia" ng-options="p.provincia for p in geografiaCR">
<option value="" disabled selected hidden>Seleccione una provincia</option>
</select>
</div>
<div class="form-group">
<select class="form-control" ng-model="selected.nombre" ng-options="n.nombre for n in selected.provincia.cantones">
<option value="" disabled selected hidden>Seleccione un cantón</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
这是Angular代码:
$scope.selected = {};
$scope.geografiaCR = [
{
provincia: 'San José',
cantones: [{nombre: 'San José',nombre: 'Escazú',nombre: 'Desamparados',nombre: 'Puriscal',nombre: 'Tarrazú',
nombre: 'Aserrí',nombre: 'Mora',nombre: 'Goicochea',nombre: 'Santa Ana', nombre: 'Alajuelita',
nombre: 'Acosta',nombre: 'Tibás',nombre: 'Moravia',nombre: 'Montes de …Run Code Online (Sandbox Code Playgroud) 我正在使用 ng-options 从对象数组中创建一个 Select 。这工作得很好,对于这个问题,对象的内容有点不重要,只要说它们有一个名称属性、一个值属性和一些其他属性就足够了。
下面是我用来创建 Select 的代码,到目前为止它工作得很好。
这是我的问题 - 选择一个选项时,绑定到NG模型的内容是“整个对象”(FL)。我想绑定到 ng-model 只是对象的“名称”(i.itemName)部分。
我想我可以通过事后返回来解决这个问题,当按下提交按钮时,我可以遍历所有数据,找到绑定对象,从中提取名称,然后更改它,使其不受名称绑定,但是......这相当草率,而不是真正应该如何处理。
有没有办法更改此代码,以便当我选择一个项目时, ng-model 绑定到i.itemName而不是fl?
<select chosen
id="{{fl.fldBasic.fldLabel}}"
ng-model="fl.dataValue"
ng-readonly="{{fl.fldBasic.attrReadOnly}}"
title="{{fl.help}}"
ng-required="{{fl.required}}"
class="chosen-select"
ng-options="i.itemName for i in fl.combo_ItemList.itemList track by i.itemValue"
style="width: 100%;">
</select>
Run Code Online (Sandbox Code Playgroud) 我看过几篇关于此的文章,但仍然无法弄清楚。
我无法从指令内更新父范围。我读过的文章说作用域值不应该是原始的,而应该是一个对象,但仍然无法弄清楚为什么这不起作用。
angular.module('moduleMihai').controller('someController',
['$scope', '$http', function ($scope, $http) {
$scope.durations = [{
field: 'yearly',
title: 'Yearly'
}, {
field: 'monthly',
title: 'Monthly'
}, {
field: 'weekly',
title: 'Weekly'
}];
$scope.selectedDuration = $scope.durations[0];
$scope.handleDurationSelection = function () {
console.log($scope.selectedDuration.field + ' selected');
$scope.someData.title[0] = "SOMETHING ELSE!!";
};
$scope.someData= {
title: ['Value1', 'Value2', 'Value3'] };
}]);
Run Code Online (Sandbox Code Playgroud)
该指令中没有任何内容:
angular.module("awaCommon").directive("durationSelection", [
function () {
return {
scope: {}, // tried removing this as well as seen in some articles
restrict: "E",
templateUrl: "duration-selection.html",
link: …Run Code Online (Sandbox Code Playgroud) 我有一个"格式"对象,其中包含"datamapping"对象列表.我的datamapping对象包含这些字段(但我们只关注concatenation):
dataMapping.column = null;
dataMapping.datatype = null;
dataMapping.dataMapping = null;
dataMapping.mappingName = "Mapping " + (format.datamappings.length+1);
dataMapping.hasConcatenation = true;
dataMapping.concatenation = ["", ""];Run Code Online (Sandbox Code Playgroud)
<div style="margin: 1px 0px" ng-repeat="mapping in format.datamappings track by $index"> <!-- using a class for css is not working (even if it has !important), dont know why-->
<hr width="50" align="left">
{{mapping.mappingName}}
<div style="margin-left: 13px"> <!-- using a class for css is not working (even if it has !important), dont know why-->
Column
<input class="form-control inline …Run Code Online (Sandbox Code Playgroud)javascript angularjs drop-down-menu ng-options angular-ngmodel
我正在尝试预选列表中由ng-options指令生成的项目.有人可以告诉我发生在plunker中的事情吗?
http://plnkr.co/edit/GTnR76HEnB5NxQRe484m?p=preview
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<script>
function MyCntrl($scope) {
$scope.prop = {
"type": "select",
"name": "Service",
"values": [{
'name': "Service 1"
}, {
'name': "Service 2"
}, {
'name': "Service 3"
}, {
'name': "Service 4"
}]
};
$scope.selected1 = $scope.prop.values[1]
$scope.selected2 = {
"name": "Service 2"
}
}
</script>
</head>
<body>
<div ng-controller="MyCntrl">
Works <br>
<select ng-model="selected1" ng-options="v.name for v in prop.values">
</select> {{selected1}} <br>
Does not work. Why? <br>
<select ng-model="selected2" ng-options="v.name for v in prop.values">
</select>
{{selected2}} …Run Code Online (Sandbox Code Playgroud) 我得到了意外的结果......
String s1 = "all";
System.out.println(s1.replaceAll("$", "#"));
Run Code Online (Sandbox Code Playgroud)
即没有替换,如果没有$则无需替换,但为什么JVM添加'#'.o/p:所有#