相关疑难解决方法(0)

如何按类名或ID获取元素

我试图通过angularjs在html中找到元素.

这是html:

<button class="btn btn-primary multi-files" type="button">
   <span>Choose multiple files</span>
</button>
<br/><br/>
<input ng-file-select type="file" multiple  style="display: none"/><br/>
Run Code Online (Sandbox Code Playgroud)

我试图通过类名多文件获取按钮元素,然后我尝试了

var multibutton = angular.element(element.getElementsByClassName(".multi-files"));
Run Code Online (Sandbox Code Playgroud)

但它不起作用,并尝试element.find但它只适用于标签.

是否有任何函数可以在angularjs中通过id或classname获取元素?

angularjs

120
推荐指数
3
解决办法
46万
查看次数

如何使用angularjs触发ng-click中另一个元素的click事件?

我正在尝试触发<input type="file">元素的click事件button.

<input id="upload"
    type="file"
    ng-file-select="onFileSelect($files)"
    style="display: none;">

<button type="button"
    ng-click="angular.element('#upload').trigger('click');">Upload</button>
Run Code Online (Sandbox Code Playgroud)

通常的做法是隐藏已知的uglified beast <input type=file>并通过其他方式触发它的click事件.

angularjs

43
推荐指数
3
解决办法
13万
查看次数

在AngularJS中触发输入文件单击事件

我试图模仿AngularJS中的文件输入上的单击事件.我见过工作jQuery示例,但我不想使用jQuery.

'use strict';

angular.module('MyApp', []).

controller('MyCtrl', function($scope) {
  $scope.click = function() {
    setTimeout(function() {
      var element = angular.element(document.getElementById('input'));
      element.triggerHandler('click');
      $scope.clicked = true;
    }, 0);
  };
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.angularjs.org/1.3.14/angular.js"></script>
<div ng-app="MyApp" ng-controller="MyCtrl">
  <input id="input" type="file"/>
  <button ng-click="click()">Click me!</button>
  <div ng-if="clicked">Clicked</div>
</div>
Run Code Online (Sandbox Code Playgroud)

注意:由于某种原因,需要按两次按钮才能触发超时功能.

我正在使用setTimeout因为这篇文章.

如何使用AngularJS/vanilla JavaScript以编程方式单击文件输入?

html javascript angularjs

16
推荐指数
1
解决办法
3万
查看次数

标签 统计

angularjs ×3

html ×1

javascript ×1