首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过脚本点击md-autocomplete按钮"cross“?

如何通过脚本点击md-autocomplete按钮"cross“?
EN

Stack Overflow用户
提问于 2016-03-14 22:33:51
回答 1查看 1.5K关注 0票数 0

我有md-autocomplete指令,当项目被选中时,我尝试搜索并单击清除(交叉)按钮。我做错了什么?

代码语言:javascript
复制
var buttons = document.querySelector('md-autocomplete button');
buttons.onclick();

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<md-autocomplete class="city"
                     ng-disabled="isDisabled"
                     md-no-cache="false"
                     md-selected-item="selectedItem"
                     md-search-text-change="searchTextChange(searchText)" md-search-text="searchText"
                     md-selected-item-change="selectedItemChange(item)" md-items="item in querySearch(searchText)"
                     md-item-text="item.display" md-min-length="1" placeholder="{{point.place}}">
      <md-item-template>
        <span md-highlight-text="searchText" md-highlight-flags="^i">{{item.display}}</span>
      </md-item-template>
      <md-not-found>
        No matches found.
      </md-not-found>
    </md-autocomplete>

EN

回答 1

Stack Overflow用户

发布于 2016-03-14 23:36:20

如果我没理解错的话,就把onclick()替换成click()吧。

(这是不同的演示,但逻辑是相同的)

代码语言:javascript
复制
var app = angular.module('app', ['ngMaterial']);

app.controller('ctrl', ['$scope', '$filter', function($scope, $filter) {
  var allGroups = [
    'one',
    'two',
    'three'
  ];

  $scope.queryGroups = function(search) {
    var firstPass = $filter('filter')(allGroups, search);

    return firstPass.filter(function(item) {
      return $scope.selectedGroups.indexOf(item) === -1;
    });
  };

  $scope.addGroup = function(group) {
    $scope.selectedGroups.push(group);
  };

  $scope.allGroups = allGroups;
  $scope.selectedGroups = [allGroups[0]];

  $scope.$watchCollection('selectedGroups', function() {
    $scope.availableGroups = $scope.queryGroups('');
  });
}]);
代码语言:javascript
复制
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/angular_material/0.10.1/angular-material.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angular_material/0.10.1/angular-material.js"></script>
<script type="text/javascript" src="https://code.angularjs.org/1.4.4/angular-aria.min.js"></script>
<script type="text/javascript" src="https://code.angularjs.org/1.4.4/angular-animate.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <h2>Groups</h2>

  <md-autocomplete
                   md-search-text="searchText"
                   md-items="item in queryGroups(searchText)"
                   md-item-text="item"
                   md-autoselect="true"
                   md-select-on-match="true"
                   md-no-cache="true"
                   md-require-match="true"
                   placeholder="Find a group..">
    <span md-highlight-text="searchText">{{item}}</span>
  </md-autocomplete>

  <div ng-show="availableGroups.length > 0">
    <h4>Available Groups</h4>
    <md-button ng-repeat="(index, group) in availableGroups" class="md-raised" ng-click="addGroup(group)">{{group}}</md-button>
  </div>
</div>
<button onclick="document.querySelector('md-autocomplete button').click()">Clear</button>

http://jsbin.com/yawowan/edit?html,js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35990379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档