我的情况如下:
我有一个搜索框,用户可以输入两种类型的查询
场景一搜索从A1234开始 场景二搜索从B1234开始
根据上面的一两个,我想点击不同的网络服务。
什么是区分上述输入搜索的最佳方式。当用户点击我的ng-submit时,我使用的是正则表达式吗?
或者我应该在.watch()上有一个范围变量来查找用户输入的内容吗?
<form role="form" ng-submit="searchForm.$valid && searchCode()" name="searchForm" novalidate>
<div class="input-group">
<input type="text" class="form-control" ng-model="searchQuery" name="searchQuery" required autocomplete="off" spellcheck="false" focus>
<input type="submit" value="Search" class="btn btn-default btn-sarch-bar">
</div>
</form>
答案 0 :(得分:0)
如果在单击提交按钮时激活搜索,则可以在提交功能中处理登录,并相应地点击正确的Web服务。这些方面的东西:
<form role="form" ng-submit="submit(searchForm.$valid, data)" name="searchForm" novalidate>
<div class="input-group">
<input type="text" class="form-control" ng-model="data.searchQuery" name="searchQuery" required autocomplete="off" spellcheck="false" focus>
<input type="submit" value="Search" class="btn btn-default btn-sarch-bar">
</div>
</form>
提交功能:
$scope.submit = function(isValid, data) {
if(!isValid) return;
//check data.searchQuery and access the appropriate webservice here
}
如果您正在使用angularjs 1.3,并且想要在用户与输入交互时执行搜索,您可能有兴趣在输入元素中添加指令,并使用{{3} }
对于使用指令的表单和验证器,有一个很棒的$asyncValidators yearofmoo 。