当前位置: 首页 > 知识库问答 >
问题:

ng-click事件对html5 datalist不工作angularjs

罗学真
2023-03-14

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

对于。(如)在(key,data).中,我需要在前端搜索框中显示data,但是在从DataList.中选择该数据时,我需要将其相应的发送给controller

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

<h2>Custom search field</h2>
            <div id="custom-search-input">
                <div class="input-group col-md-12">
                    <input type="text" class="form-control input-lg"  list="suggestions" placeholder="search" ng-model="obj.searchText" ng-focus="searchSuggest()" />
                    <span class="input-group-btn">
                        <button class="btn btn-info btn-lg" type="button" ng-click="showProduct(obj)">
                            <i class="glyphicon glyphicon-search"></i>
                        </button>
                    </span>
                </div>
            </div>
            <div>
                <datalist id="suggestions">
                    <p ng-repeat="values in suggestionResults track by $index"><option ng-repeat="(key,data) in values" value="{{data}}"  ng-model="selectedProduct" ng-click="showProduct({key: key, data: data})"></p>
                </datalist>

            </div>

在上面的代码中,你可以看到键和数据。我只需要显示数据值,但在选择一个选项。,我需要发送各自的URL链接到Conroller。在ng-repeat中创建了datalist

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

共有1个答案

郭曾笑
2023-03-14

你的ng-click在chrome中触发了罚款,我可以看到你的console.logs数据。

我检查了您的代码,您的搜索逻辑不工作,并且您在控制台中不断得到“不匹配”的原因是您使用了错误的条件,您没有检查值,使用搜索字符串,您使用搜索字符串检查“key/value object”。

将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";
}
 类似资料:
  • 问题内容: 我想做一些我不知道的事 JS 我想将ng-click事件放在ng- grid中的一行上,我已经了解了一下这个想法,但是我真的不知道是否有可能,如果可以,那是否是正确的方法去做。在这段代码中,这对我来说似乎很好,该应用程序不会启动警报,是否有任何建议或想法? 这是矮人http://plnkr.co/edit/U6wdWTAV30HRhJk8xFPA?p=preview 问题答案: 这些定

  • 问题内容: 因此,如果我有一个带有100 li的ul,则每个li都应该有ng- clicks或是否有办法将事件绑定到ul并将其委派给li的jquery的工作方式?这会好还是坏?我们有100个事件,还是最后只有一个事件? 问题答案: 似乎angular并没有使用中继器进行事件委派。有人在github上发布了一个关于它的问题。争论在于它是否实际上会带来更好的性能。 可能有解决方法,但需要jQuery。

  • 问题内容: 我在ng-repeat中有以下代码: 如何使按钮处于禁用状态? 或者有没有一种方法可以用Javascript来完成,因此如下所示: 问题答案: 除指令外,在任何地方都不能使用DOM(包括属性检查)进行操作。您可以在范围内添加一些值,该值指示是否应禁用链接。 但是另一个问题是ngDisabled除了表单控件之外不能在其他任何东西上使用,因此您不能将其与一起使用,但可以将其与一起使用并将其

  • 该事件发生在用户单击CommandBarButton 对象时。 Private Sub CommandBarButton_Click (ByVal Ctrl As CommandBarButton, ByVal CancelDefault As Boolean) Click 事件的语法中包含两个参数,下表中列出了对这两个参数的说明。参数说明CtrlCommandBarButton 类型,必需。指示

  • 问题内容: 我刚开始接触Angular,但过去几周一直在使用它,并且设法解决了我遇到的大多数问题。然而,这让我感到难过。 我有一个应用程序,该应用程序从Twitter提取推文,然后使用角度过滤器提取所有URL,并将其设置为链接样式。该部分工作正常,但客户认为来自Twitter的链接不安全,因此他们希望在每次单击链接时触发免责声明。足够简单- 我劫持了链接并将换成一个。这是发生问题的地方- 不起作用

  • 我在angular指令中有这段代码,我发现$watch的行为有点令人困惑。在“ng click”中调用updateSelect: 当我点击按钮(触发更新选择)并观看控制台时,我会看到“更新”,然后是“观看”。函数内部发生的第一件事是选择Ctrl。设置了activeList,所以我希望看到“watch”和“update”。 不应该在阵列更改后立即监视触发器吗?