Ember.js - 单击一个按钮可触发另一个按钮上的点击事件

时间:2014-09-14 13:36:16

标签: javascript jquery html ember.js

我想点击按钮2来触发按钮1上的点击事件。我可以使用JQuery完成这个任务。

HTML:

<div id="container">
<input id="upload_input" type="file" name="files[]" style="display:none" />
<button id="button-2">Upload File</button>
</div>

JS:

$('#upload_input').trigger('click');

我是Ember.js的新手,我想在Ember.View环境中完成相同的功能。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

只需在输入中使用更改事件即可。然后,您可以发布表单,或使用ajax异步回发。这是一个简单的例子:

视图

App.UploadButtonView = Ember.View.extend({
  tagName: 'input',
  attributeBindings: ['type'],
  type: 'file',

  change: function(e){
    var self = this;
    var formData = new FormData();
    formData.append('file', this.$().get(0).files[0]);
    $.ajax({
      url: '/file_upload/', 
      type: 'POST',
      //Ajax events
      success: function(data){ },
      error: function(){ },
      // Form data
      data: formData,
      //Options to tell jQuery not to process data or worry about content-type.
      cache: false,
      contentType: false,
      processData: false
    });
  }
});

模板

{{view 'uploadButton'}}

示例:http://emberjs.jsbin.com/jameg/1/edit