Angularjs 如何在文本框中显示选择框中通常显示的内容

Angularjs 如何在文本框中显示选择框中通常显示的内容,angularjs,select,textbox,Angularjs,Select,Textbox,我们有一个完整的输入表格,包括文本框、选择项和几个单选按钮。用户填写表单后,我们希望引导他们进入确认页面,如果需要,他们可以在提交时打印最终表单。但是,我们不希望将选择字段显示为下拉列表,而是显示为简单的文本框 例如,select for State有一个ng options=“s.value As s.text for s in states”>,其中s.value可能是“WA”,s.text可能是“Washington” 在确认页面上,我们只希望显示一个文本框,其中填写“华盛顿” 做这件事最

我们有一个完整的输入表格,包括文本框、选择项和几个单选按钮。用户填写表单后,我们希望引导他们进入确认页面,如果需要,他们可以在提交时打印最终表单。但是,我们不希望将选择字段显示为下拉列表,而是显示为简单的文本框

例如,select for State有一个ng options=“s.value As s.text for s in states”>,其中s.value可能是“WA”,s.text可能是“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 '';
    }
$scope.getLookupText=函数(lookupValues,value){
if(lookupValues==未定义)返回“”;
对于(var i=0;i
从模板中调用它,如下所示:


input id=“state”ng value=“getLookupText(states,incident.CustState)”

将选择的结果存储在两个控制器(服务)都可以访问的模型中,然后在第二个控制器中填充该模型的文本框

控制器1: myservice被注入

$scope.selector = myservice.selection;
$scope.result = myservice.getStateTextByValue(myservice.selection);
第1页:

<select ng-model='selector'>...</select>
或在此处或服务中使用下划线

$scope.result = _(myservice.state).find(function(s) { return s.value == myservice.selection; }).text;
第2页:

<div>{{result}}/div>
{{result}}/div>

Peter,在您的示例中,“selector”的值不是“WA”吗?对不起,我没有看到。我会在服务中使用下划线或类似的方式来返回给定值的模型文本。我已经编辑了答案。