我们有一个完整的条目表格,文本框和选择和一些单选按钮。在用户填写表单后,我们希望将他们引导到确认页面,如果需要,他们可以打印提交的最终表单。但是,我们不希望将选择字段显示为下拉列表,而是显示为简单的文本框。
例如,select for State有一个ng-options =“s.value as s.text for s in states”>,其中s.value可能是“WA”而s.text是“Washington”
在确认页面上,我们只希望显示一个填充“Washington”
文本的文本框最有角度的做法是什么?
我最终在控制器中创建了这个功能:
$scope.getLookupText = function(lookupValues, value) {
if (lookupValues == undefined) return '';
for (var i = 0; i < lookupValues.length; i++)
if (lookupValues[i].value == value)
return lookupValues[i].text;
return '';
}
并从模板中调用它:
输入id =“state”ng-value =“getLookupText(states,incident.CustState)”
答案 0 :(得分:0)
将select的结果存储在两个控制器(服务)均可访问的模型中,然后在第二个控制器中填充该模型的文本框。
控制器1: 注入myservice
$scope.selector = myservice.selection;
第1页:
<select ng-model='selector'>...</select>
控制器2: 注入myservice
$scope.result = myservice.getStateTextByValue(myservice.selection);
或在此处或在服务中使用下划线
$scope.result = _(myservice.state).find(function(s) { return s.value == myservice.selection; }).text;
第2页:
<div>{{result}}/div>