我正在使用angularjs处理文本建议文本框。
以下是我的页面html:
.toolbar {
padding-top: 50px;
}
这是我的控制器文件BaseCtrl.js:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app>
<head>
<title></title>
<script type="text/javascript" src="Scripts/angular.js"></script>
<script type="text/javascript" src="Scripts/angular-mocks.js"></script>
<script type="text/javascript" src="BaseCtrl.js"></script>
</head>
<body ng-controller="BaseController">
<div class="input-group" style="width: 50%;">
<input type="text" class="form-control" id="FirstName" ng-model="fnamequery" ng-change="toggleSuggest()">
<p ng-repeat="fname in fnames | filter:fnamequery">{{fname}}</p>
</div>
</body>
</html>
将来我计划通过Web API调用从数据库中提取名称,但是现在我只是试图让它与硬编码值一起使用。
现在我获得了页面上显示的所有值。当我输入内容时,这些值会被过滤掉,但最初会显示所有内容
答案 0 :(得分:1)
您正在使用FieldName KeyID_42 KeyID_600 Table
AccountNbr 55664 55635 tblSQLContacts
ChoiceFundYN 0 1 tblSQLContacts
CoAdd1 PO Box 2200 1500 Mountain Drive tblSQLContacts
CoAdd2 PO Box 7004 PO Box 4300 tblSQLContacts
CoCity Las Vegas Birmingham tblSQLContacts
CoFax 5552355622 5552975152 tblSQLContacts
和$('p').hide()
来隐藏/显示看起来更像jQuery方法的DOM元素。您的代码示例抛出此错误:
ReferenceError:$未在Object.MyCtrl中定义。$ scope.toggleSuggest
在这种情况下,Angular的$('p').show()
或ng-show
指令应该可以解决问题:
ng-hide
控制器:
<body ng-controller="BaseController">
<div class="input-group" style="width: 50%;">
<input type="text" ng-model="fnamequery">
<p ng-repeat="fname in fnames | filter:fnamequery" ng-hide="fnamequery==''">{{fname}}</p>
</div>
</body>
这是一个有效的jsFiddle。