我的输入的 ng-model
属性设置为“search.name”
HTML
Search:
<span id="searchName"> titles </span> | <span id="searchSpecies"> species </span>:
<input type="text" data-ng-model="search.name" />
当单击另一个元素(例如链接或按钮)时,如何更改此属性,并让我的过滤器使用更新后的属性?现在,即使我已经更新了该属性,过滤器就像没有更新一样。
这是我更新属性的方式:
脚本
$("#searchName").click(function() {
$("input").attr("data-ng-model", "recipesearch.name");
});
$("#searchSpecies").click(function() {
$("input").attr("data-ng-model", "recipesearch.species");
});
是否有更好的方法可以通过指令来做到这一点?
最佳答案
如果我正确理解了问题,那么您有一个表单,其中根据输入框中键入的内容来过滤数据。但您还有其他链接可以自动更改您的搜索,也许是“常见搜索值”列表。
此 Fiddle 中概述了我要做的事情.
基本上,我建议在链接或按钮上使用 ng-click 来更新正在搜索的值。
示例:
标记
<a href="#" ng-click="changeSearchTo('Cat')">Cat</a>
Controller
$scope.changeSearchTo = function (searchCriteria) {
$scope.search = {
name: searchCriteria
};
};
如果我不明白你的问题,我深表歉意。
-泰德
关于jquery - 如何更改元素的 ng-model 属性(并使其工作)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17904934/