Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何更改选择选项的标题,但保持值不变?_Angularjs - Fatal编程技术网

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您能简单地将您的评论转换为答案吗?你的最适合我的需要