angularjs 如何在 ng-model 下拉列表中将二进制值显示为文本 select

angularjs how to show binary value as text in ng-model drop down select

在 angularjs 中,我得到一个 json 数组作为具有二进制数据 (true/false) 的输入。我想在 "ng-model" 下拉菜单 select.

中显示为文本的相同数据

我的输入

$scope.string = [
    {"_attributes":{"name":"password"},"_text":"password"},
    {"_attributes":{"name":"url"},"_text":"mushmatch"},
    {"_attributes":{"name":"comments"},"_text":"comments"},
    {"_attributes":{"name":"check"},"_text":true},
    {"_attributes":{"name":"value"},"_text":123}
    ]

我的HTML代码,

<span>Check1: <input type="checkbox" 
  ng-repeat="x in string | filter : 'check'" 
  ng-model="x._text"/></span>
<br>  
<span>Check2: <input type="input" 
  ng-repeat="x in string | filter : 'check'" 
  ng-model="x._text"/></span>

<br>
<span>Check3:<select ng-repeat="x in string | filter : 'check'" ng-model="x._text" ng-options="x for x in ['true','false']">
    </select></span>

Check1 和 Check2 正确显示,但 Check3 未显示初始值 selected。当我从下拉列表中 select 但要求先显示现值,然后再更改选项时,它会起作用。

另外我想知道是否可以显示 True/False 而不是 true/false (以 initcap 格式)。

请让我知道如何实现这一目标。我也在下面创建了 plunkr。

Plunkr

将您的 select 元素 ng-options 更改为布尔值 true 和 false

<span>Check3:<select ng-repeat="x in string | filter : 'check'" ng-model="x._text" ng-options="x for x in [true,false]">