这是html标记:
<script type="text/ng-template" id="typeAheadTemplate.html">
<span bind-html-unsafe="match.model.PROJECT_DESC | typeaheadHighlight:query"></span>
</script>
<div ng-show="commentMain.commentType == 'project'" id="commentProjectOther"
class="btn-group animate-slide-vertical" style="margin-bottom: 7px; margin-left: 7px;">
<input type="text" ng-model="commentMain.project" placeholder="Select the name of the project"
typeahead-on-select="commentMain.comment.PROJECT_ID = $model.PROJECT_ID || null"
typeahead="project for projects in commentMain.getProjects($viewValue)"
typeahead-loading="loadingProjects"
typeahead-template-url="typeAheadTemplate.html" class="form-control" />
</div>
项目将以[{PROJECT_DESC: 'Blah', PROJECT_ID: 1, ...other params}, etc.]
正在访问API,并且正在将选项填充到提前输入中。
但是,前面的类型不允许我选择任何选项。我的意思是当我将鼠标悬停在选项上时,它们不会变为蓝色,当我选择一个选项时,它不会填充模型(或前面的文本框)。
答案 0 :(得分:1)
我认为它们不会变成蓝色,因为你使用自己的模板进行预先输入,如果你只是想在typeahead中显示项目描述,请删除typeahead-template-url
并将typeahead属性更改为:
typeahead="project as project.PROJECT_DESC for projects in commentMain.getProjects($viewValue)"
你的选择也错了,应该是:
typeahead-on-select="commentMain.comment.PROJECT_ID = commentMain.project.PROJECT_ID"
因为您将commentMain.project
定义为您的模型,当您选择一个项目时,这将被填充!