情况:
我有一个发送电子邮件的角度应用程序。
有三个字段:地址 - 主题 - 文本。
地址字段是使用角度 ui 选择构建
可以从列表中选择电子邮件地址,也可以重新输入。
问题是我无法创建新条目。
在文档中写道,为了输入新值,可以使用属性标记。
但我不知道为什么,不和我一起工作。
代码:
(简单的新标签添加示例)
<ui-select multiple tagging tagging-label="(custom 'new' label)" ng-model="multipleDemo.colors" theme="bootstrap" ng-disabled="disabled" style="width: 300px;">
<ui-select-match placeholder="Select colors...">{{$item}}</ui-select-match>
<ui-select-choices repeat="color in availableColors | filter:$select.search">
{{color}}
</ui-select-choices>
</ui-select>
$scope.availableColors = ['Red','Green','Blue','Yellow','Magenta','Maroon','Umbra','Turquoise'];
$scope.multipleDemo = {};
$scope.multipleDemo.colors = ['Blue','Red'];
普朗克:
http://plnkr.co/edit/T55LeKK66Idb3lD8DDPz?p=preview
如您所见,无法插入新值。
问题:
如何在角度 ui 选择中正确插入新值?
给定的 plunkers 使用 0.8.2。标记适用于 0.8.3。
用jQuery的一些技巧来做到这一点——
- 只需将类或 id 添加到 ui-select 标签即可。
在角度控制器中添加按 id 和类的访问权限,如下所示:
<ui-select reset-search-input="true" ng-model="myModel.SerialNumber" theme="bootstrap" ng-required="true" name="SerialNumber" class="YourClass" Id="YourId"> <ui-select-match placeholder=" {{'VehicleMaster.SerialNumber'| translate}}"> {{$select.selected.SerialNumber}} </ui-select-match> <ui-select-choices repeat="item in IMEISerialsDropDown | filter: $select.search"> <div ng-bind-html="item.SerialNumber"></div> </ui-select-choices> </ui-select>
$(".YourClass").find("input.ui-select-search").on("focusout", function (val) { var variable = $(".YourClass").find("input.ui-select-search").val(); if (variable .length > 0 && variable .length != null) { var variableJson = { SerialNumber: variable , }; $scope.myModel.ModelProperty= variableJson; } });