角度选择,选择2项

时间:2015-02-16 14:55:16

标签: angularjs

我有一个表单,其中包含一些从服务加载的列表框:其中大部分工作正常,但有3个有问题:列表填充正确,ng-model变量设置正确,但该项目不是选择。
检查batarang发现了这个:

<select class="required form-control ng-pristine ng-valid ng-touched" data-ng-options="tipoVia.id as tipoVia.descrizione for tipoVia in vm.tipiViaEdit" data-ng-model="vm.recordSelect.tipoVia" data-ng-change="vm.filtroTipoViaEdit()">
<option value="0" selected="selected" label="(--)">(--)</option>
...
<option value="62" label="SVINCOLO">SVINCOLO</option>
<option value="63" selected="selected" label="TRAVERSA">TRAVERSA</option>
<option value="64" label="TRAVERSA DI">TRAVERSA DI</option></select>
...

出于同样的奇怪原因,看起来两个项目都被标记为已选中:你知道这可能发生的时间吗?我看过几次,但我不明白我是怎么做到的。

更新: 在调用服务器接收数据之后,我设置选项并与模型进行比较以查看是否在数组中找到了值,并且找到了值

        this.tipiViaEdit = data.tipiVia;

        this.tipiViaEdit.forEach(myString => {
            if (myString.id === this.recordSelect.tipoVia) {
                alert("value found");
            }
        });

卢卡

1 个答案:

答案 0 :(得分:0)

最后我发现了问题并且我分享了解决方案希望对其他人有用:在页面中我使用网格来显示对象列表,并选择在编辑表单中使用对象的其中一行。
看起来问题是同一个对象既绑定到网格又绑定到表单中的组件,给出不同属性的不同结果:表单中的某些字段绑定正确,其他字段没有绑定。
我从服务器重新水化对象,下载一个新的对象和列表组件,这样表单就可以了。