Javascript ng html5数据列表上的单击事件不工作angularjs

Javascript ng html5数据列表上的单击事件不工作angularjs,javascript,angularjs,json,html-datalist,Javascript,Angularjs,Json,Html Datalist,我正在尝试自动搜索,在选择产品时,我需要重定向到与所选下拉列表关联的产品URL。我能得到所有的搜索结果 我已为所有搜索列表创建了数据列表,并在数据列表上创建了ng单击事件,以将所选详细信息发送给控制器。但是,ng click在数据列表中不起作用。你能帮我吗 例如。在(键,数据)中,我需要在前端搜索框中显示数据,但在从数据列表中选择该数据时,我需要将其相应的键发送给控制器 有问题的部分供您参考(plunker中的完整代码): 自定义搜索字段 在上面的代码中,您可以看到键和数据。我只需要显示数据

我正在尝试自动搜索,在选择产品时,我需要重定向到与所选下拉列表关联的产品URL。我能得到所有的搜索结果

我已为所有搜索列表创建了数据列表,并在数据列表上创建了
ng单击
事件,以将所选详细信息发送给控制器。但是,
ng click
在数据列表中不起作用。你能帮我吗

例如。在
(键,数据)
中,我需要在前端搜索框中显示
数据
,但在从数据列表中选择该数据时,我需要将其相应的
发送给控制器

有问题的部分供您参考(plunker中的完整代码):

自定义搜索字段

在上面的代码中,您可以看到键和数据。我只需要显示数据值,但在选择一个选项时,我需要将相应的URL链接发送到conroller。在ng repeat中创建数据列表

请从下面的plunker链接的文本框下拉列表中选择一个值

*

我已经更新了plunker,这样也可以在搜索中看到URL 简言之,我需要将该URL传递给conroller。请帮忙 告诉我如何实现它

*


您的ng click在chrome中触发良好,我可以看到您的console.logs数据

我检查您的代码,您的搜索逻辑不起作用,并且您的控制台中不断出现“不匹配”的原因是您使用了错误的条件,您没有使用搜索字符串检查值,您使用搜索字符串检查“键/值对象”

将showProduct方法中的if条件更改为:

if ($scope.suggestionResults[i][Object.keys($scope.suggestionResults[i])[0]] == searchText) {
   console.log(Object.keys(response.data[i])[0]);
   $scope.redirectLink = Object.keys(response.data[i])[0];
}else{
   $scope.redirectLink = "not matching";
}

你的ng点击在chrome中触发良好,我可以看到你的console.logs数据

我检查您的代码,您的搜索逻辑不起作用,并且您的控制台中不断出现“不匹配”的原因是您使用了错误的条件,您没有使用搜索字符串检查值,您使用搜索字符串检查“键/值对象”

将showProduct方法中的if条件更改为:

if ($scope.suggestionResults[i][Object.keys($scope.suggestionResults[i])[0]] == searchText) {
   console.log(Object.keys(response.data[i])[0]);
   $scope.redirectLink = Object.keys(response.data[i])[0];
}else{
   $scope.redirectLink = "not matching";
}

我写了另一种方法

$scope.inputChanged = function(data){
  var obj = _.find($scope.suggestionResults,function(o){
     var keyArr = Object.keys(o);
     return o[keyArr[0]] === data
  })
  $scope.showProduct(obj)
}
这将作为一个解决办法,以实现你所寻找的。从这里,您可以调用
$scope.showProduct(obj)
并实现
ng单击
事件行为

我写了另一种方法

$scope.inputChanged = function(data){
  var obj = _.find($scope.suggestionResults,function(o){
     var keyArr = Object.keys(o);
     return o[keyArr[0]] === data
  })
  $scope.showProduct(obj)
}

这将作为一个解决办法,以实现你所寻找的。从这里,您可以调用
$scope.showProduct(obj)
并实现
ng click
事件行为

您不能附加
ng click
离子数据列表,正如您在plunker和示例代码中看到的那样。我在数据列表中添加了ng click事件。但它不会触发。选中plunkeradding
ng单击并不意味着它会被触发。检查我的答案。我想这就是你在寻找的,根据你的问题“点击”ShashankVivek当然。我正在尝试提供的所有选项。非常感谢您的输入。您不能附加
ng click
ion数据列表,正如您在plunker和示例代码中看到的那样。我已在数据列表中添加了ng click事件。但它不会触发。选中plunkeradding
ng单击并不意味着它会被触发。检查我的答案。我想这就是你在寻找的,根据你的问题“点击”ShashankVivek当然。我正在尝试提供的所有选项。非常感谢您的输入。我看不到ng通过数据列表单击触发器。。但是用按钮工作。但是,循环运行良好,我可以获取URL。我必须检查循环中的索引。谢谢,洛蒂,我看不到通过数据列表点击触发器。。但是用按钮工作。但是,循环运行良好,我可以获取URL。我必须检查循环中的索引。谢谢