问题描述
让我再试着解释一下。 我有一个在 Node.js 上的 javascript 框架中运行的应用程序,带有 Bootstrap。 在其中一个引导面板中,我嵌入了一个 Angular Elasticsearch 搜索客户端。 下面是一些显示结果的代码:
<section class='results'><article class='result' ng-repeat='result in results track by $id(result)' /><div id="addThisInfo" ng-repeat='ng-repeat='result in results track by $id(result)' style="display: none;"> {{$id}},{{result.code}},{{result.expression}},{{result.source}}</div>Code:{{result.code}}<br>Description: {{result.expression}}<br>div ng-if='result.source ==4'> Type: Source 1</div><div ng-if='result.source ==10'> Type: Source 2</div></article> </section>
每页有 5 个结果。
请注意,这个应用程序中唯一用 Angular 编写的部分就是这个搜索机制。
最终,我希望用户能够单击所需结果的文本或单击将他们的选择添加到单独表格的按钮。
这是它现在的工作原理。 当我点击每页 5 个结果中的任何一个时,它会调用:
document.addEventListener("click", function() {
var packy = document.getElementById("addThisInfo").innerHTML; //div above
addInfo(packy);
});
我点击哪个结果并不重要,它总是发送活动页面的“第一个”结果。 即使 div "addThisInfo" 已经重复并且是结果的一部分,它也没有
Web 套接字调用如下所示:
{"params":"0ij,I77.812ZZ,"Full Expression","100"}
我没有运气上传 Inspect Element 的图像。 但是在那里你可以看到所有的数据都在那里。
我想与某人安排会话,以便我可以向您展示它目前的工作方式。 非常感谢帮助!!
谢谢!
1楼
Todd
0
2015-07-30 21:35:14
为什么你必须单独通过它们? 我不确定你想要完成什么,确切地说,但我会像这样处理它:
对于标记:
<button ng-click="addInfo(result)">
然后在控制器中
$scope.addInfo = function(result) {
var foo = result.code,
bar = result.source;
etc...
}
2楼
richbai90
0
2015-07-31 02:19:50
Angular. directive('notNgClick', function () { return {
restrict: 'A',
scope: {
values: '&'
},
link: function (scope,elem, attr) {
elem.addEventListener(function () {alert (scope.values.someValue ) } )
}
}
}