如何清除 angularjs 中的 uib-typeahead 下拉列表
How to clear uib-typeahead dropdown list in angularjs
我使用 uib-typeahead。当在 uib-typeahead 中输入内容时,我正在调用 api。
我在 uib-typeahead 文本框旁边添加了一个取消图标,以便在我单击该取消图标时清除该文本和下拉值,但是当我单击取消图标时,它只会清除 uib-typeahead 中的文本。下拉列表不清除。
单击取消图标时如何清除下拉菜单?
HTML
<input class="form-control" type="text" ng-model="searchObject" placeholder="Search name"
uib-typeahead="value as value.name for a in search($viewValue)"
typeahead-on-select="onSelect($item, $model, $label)">
<--! This is Cancel button -->
<a class="clear" ng-click="searchObject = null;">
<span class="fa fa-times"></span>
</a>
JS
$scope.search = function(val) {
//Some API call and return Array Of Object
return Array Of Object
};
我刚开始处理类似的问题 - 隐藏下拉菜单。
假设您的输入元素包装在包含 id 的表单元素中:
HTML
<form name="test" id="test">
<input class="form-control" type="text" ng-model="searchObject" placeholder="Search name" uib-typeahead="value as value.name for a in search($viewValue)"
typeahead-on-select="onSelect($item, $model, $label)">
<--! This is Cancel button -->
<a class="clear" ng-click="hideDropDown()">
<span class="fa fa-times"></span>
</a>
</form>
uib-typeahead 在 class 为 "dropdown-menu."
的无序列表中创建下拉菜单
您可以在函数中访问下拉菜单样式:
JS
$scope.hideDropDown = function() {
var dropDown = document.getElementById("test").querySelectorAll("ul.dropdown-menu");
dropDown[0].style.display = "none";
};
变量 dropDown returns 包含下拉菜单的所有 UL 元素的数组 class。如果您有多个 uib-typeahead dropDown,可以通过它们在 HTML 中的顺序来引用它们。
我使用 uib-typeahead。当在 uib-typeahead 中输入内容时,我正在调用 api。
我在 uib-typeahead 文本框旁边添加了一个取消图标,以便在我单击该取消图标时清除该文本和下拉值,但是当我单击取消图标时,它只会清除 uib-typeahead 中的文本。下拉列表不清除。
单击取消图标时如何清除下拉菜单?
HTML
<input class="form-control" type="text" ng-model="searchObject" placeholder="Search name"
uib-typeahead="value as value.name for a in search($viewValue)"
typeahead-on-select="onSelect($item, $model, $label)">
<--! This is Cancel button -->
<a class="clear" ng-click="searchObject = null;">
<span class="fa fa-times"></span>
</a>
JS
$scope.search = function(val) {
//Some API call and return Array Of Object
return Array Of Object
};
我刚开始处理类似的问题 - 隐藏下拉菜单。
假设您的输入元素包装在包含 id 的表单元素中:
HTML
<form name="test" id="test">
<input class="form-control" type="text" ng-model="searchObject" placeholder="Search name" uib-typeahead="value as value.name for a in search($viewValue)"
typeahead-on-select="onSelect($item, $model, $label)">
<--! This is Cancel button -->
<a class="clear" ng-click="hideDropDown()">
<span class="fa fa-times"></span>
</a>
</form>
uib-typeahead 在 class 为 "dropdown-menu."
的无序列表中创建下拉菜单您可以在函数中访问下拉菜单样式:
JS
$scope.hideDropDown = function() {
var dropDown = document.getElementById("test").querySelectorAll("ul.dropdown-menu");
dropDown[0].style.display = "none";
};
变量 dropDown returns 包含下拉菜单的所有 UL 元素的数组 class。如果您有多个 uib-typeahead dropDown,可以通过它们在 HTML 中的顺序来引用它们。