Angularjs 如何更改选择选项的标题,但保持值不变?
因此,我有一个简单的数组Angularjs 如何更改选择选项的标题,但保持值不变?,angularjs,Angularjs,因此,我有一个简单的数组values=[0,1],它将被提供给 <select ng-model="myValue" ng-options="v for v in values "></select> 在此之后,我将有一个下拉列表,其中有两个选项:0和1 但我想要的是: 在网页中,我不想显示0或1,而是false和true 一旦用户选择一个选项(无论是false还是true),实际型号myValue应该是0或1,而不是false或true 如何执行此操作?平面阵列初
values=[0,1]
,它将被提供给
<select ng-model="myValue" ng-options="v for v in values "></select>
在此之后,我将有一个下拉列表,其中有两个选项:0
和1
但我想要的是:
0
或1
,而是false
和true
false
还是true
),实际型号myValue
应该是0
或1
,而不是false
或true
如何执行此操作?平面阵列初始化不允许您使用标准ng选项执行此操作,因为标签是ng选项初始化的第一部分
ng-options="label for v in values"
要正确执行此操作,您的选项的格式最好如下所示:
$scope.values = [
{ label : 'true', value: 1 },
{ label : 'false', value: 0 }
];
这将允许您从for循环中的对象定义选项标签
<select ng-model="myValue" ng-options="v as v.label for v in values"></select>
并将HTML修改为如上所述。平面数组初始化不允许使用标准ng选项执行此操作,因为标签是ng选项初始化的第一部分
ng-options="label for v in values"
要正确执行此操作,您的选项的格式最好如下所示:
$scope.values = [
{ label : 'true', value: 1 },
{ label : 'false', value: 0 }
];
这将允许您从for循环中的对象定义选项标签
<select ng-model="myValue" ng-options="v as v.label for v in values"></select>
并将HTML修改为如上所述。平面数组初始化不允许使用标准ng选项执行此操作,因为标签是ng选项初始化的第一部分
ng-options="label for v in values"
要正确执行此操作,您的选项的格式最好如下所示:
$scope.values = [
{ label : 'true', value: 1 },
{ label : 'false', value: 0 }
];
这将允许您从for循环中的对象定义选项标签
<select ng-model="myValue" ng-options="v as v.label for v in values"></select>
并将HTML修改为如上所述。平面数组初始化不允许使用标准ng选项执行此操作,因为标签是ng选项初始化的第一部分
ng-options="label for v in values"
要正确执行此操作,您的选项的格式最好如下所示:
$scope.values = [
{ label : 'true', value: 1 },
{ label : 'false', value: 0 }
];
这将允许您从for循环中的对象定义选项标签
<select ng-model="myValue" ng-options="v as v.label for v in values"></select>
并将HTML修改为上述格式。根据,您可以使用select as label for value in array
格式的表达式,其中label
可以是任何正确的AngularJS表达式。例如,您可以使用:
<select
ng-model="myValue"
ng-options="value as (value ? 'true' : 'false') for value in values"
></select>
当您只有几个可能的值时,这是可以接受的,但如果阵列变大,它很快就无法读取:
<select
ng-model="myValue"
ng-options="value as (value === 1 ? 'true' : value === 0 ? 'false' : value === -1 ? 'undefined') for value in values"
></select>
在这种情况下,我强烈建议您使用一个对象,如所建议。根据,您可以使用select as label for value In array
形式的表达式,其中label
可以是任何正确的AngularJS表达式。例如,您可以使用:
<select
ng-model="myValue"
ng-options="value as (value ? 'true' : 'false') for value in values"
></select>
当您只有几个可能的值时,这是可以接受的,但如果阵列变大,它很快就无法读取:
<select
ng-model="myValue"
ng-options="value as (value === 1 ? 'true' : value === 0 ? 'false' : value === -1 ? 'undefined') for value in values"
></select>
在这种情况下,我强烈建议您使用一个对象,如所建议。根据,您可以使用select as label for value In array
形式的表达式,其中label
可以是任何正确的AngularJS表达式。例如,您可以使用:
<select
ng-model="myValue"
ng-options="value as (value ? 'true' : 'false') for value in values"
></select>
当您只有几个可能的值时,这是可以接受的,但如果阵列变大,它很快就无法读取:
<select
ng-model="myValue"
ng-options="value as (value === 1 ? 'true' : value === 0 ? 'false' : value === -1 ? 'undefined') for value in values"
></select>
在这种情况下,我强烈建议您使用一个对象,如所建议。根据,您可以使用select as label for value In array
形式的表达式,其中label
可以是任何正确的AngularJS表达式。例如,您可以使用:
<select
ng-model="myValue"
ng-options="value as (value ? 'true' : 'false') for value in values"
></select>
当您只有几个可能的值时,这是可以接受的,但如果阵列变大,它很快就无法读取:
<select
ng-model="myValue"
ng-options="value as (value === 1 ? 'true' : value === 0 ? 'false' : value === -1 ? 'undefined') for value in values"
></select>
在这种情况下,我强烈建议您使用对象,正如所建议的。您可能是指
ng options=“v.value as v.label for v In values”
,不是吗?您可能是指ng options=“v.value as v.label for v In values”
,不是吗?您可能是指ng options=“v.value as v.label for v In values”
,你不是吗?你可能是指ng options=“v.value as v.label for v in values”
,不是吗?@Blackhole如果当v==”时,那么应该保持“
我的意思是值的选项有一个额外的空的一个。@Blackhole你能简单地把你的评论转换成一个答案吗?你的对我最好needs@Blackhole如果当v==”时,则应保留“
我的意思是值的选项有一个额外的空的选项。@Blackhole您能简单地将您的评论转换为答案吗?你的对我最好needs@Blackhole如果当v==”时,则应保留“
我的意思是值的选项有一个额外的空的选项。@Blackhole您能简单地将您的评论转换为答案吗?你的对我最好needs@Blackhole如果当v==”时,则应保留“
我的意思是值的选项有一个额外的空的选项。@Blackhole您能简单地将您的评论转换为答案吗?你的最适合我的需要