我在angularjs页面中有一个uib-typeahead,它使用户可以选择一个或多个“类”以应用于“事务”。 (会计“类”,而不是软件类。)
由于潜在类的列表很长,可能是50个或更多,所以我使用了typeahead来过滤呈现给用户的类,并且我想使用一个复选框,以便用户可以选择所有感兴趣的类。
模型由一个以模型名称作为键的对象组成,该对象的值由复选框设置为“ true”(如果选中然后未选中,则有时为false)。
不过,我遇到了一些麻烦,因为我的uib-typehead选择并关闭了下拉菜单时,我不认为该检查通过了,因为当模型对象未填充时我检查一下。
<div id="choose-classes">
<input placeholder="Select other Quickbooks classes"
typeahead-editable="false"
uib-typeahead="myitem.name for myitem in otherClasses |
filter:$viewValue" class="form-controler"
ng-model="currentSelection"
typeahead-template-url="addClassTemplate.html"
/>
这是模板:
<script type="text/ng-template" id="addClassTemplate.html">
<span class="add-class-check"><input type="checkbox"
ng-model="selectedClasses.classNames[myitem.name]"/>
</span>
<span ng-bind-html="match.label | uibTypeaheadHighlight:query></span>
</script>
控制器中的javascript初始化为:
$scope.selectedClasses = {};
所以a)当用户选中一个框时,如何停止关闭预输入,以及b)如何将ng-model连接到复选框元素以进行填充?现在,选中此框似乎没有任何作用。