当在下拉列表中选择元素时触发文件输入浏览器

问题描述:

当从下拉列表中选择值UploadStudents时,如何触发输入文件?当在下拉列表中选择元素时触发文件输入浏览器

选择元素

<select name="performaction" id="performaction"> 
    <option value="">- Actions -</option> 
    <option value="UploadStudents">Upload Students</option> 
</select> 

文件输入

<input type=file name="uploadlogo" id="uploadlogo" style="visibility:hidden"/> 
+1

这变得非常黑客。您可以使用select来显示/隐藏实现上载的另一个表单(由选项的值作为目标)。更容易实施和维护。当子窗体变大时,您可以轻松地将它们提取到自己的模板中。 – Jankapunkt

在Template.Name.js文件,你需要触发的select标签的change事件。

Template.Name.events({ 
    'change #performaction' : function(event, template){ 
     event.preventDefault(); 
     $('input[type=file]').click(); 
    } 
}); 

如果选择具体实现,那么你可以使用如下;

Template.Name.events({ 
    'change #performaction' : function(event, template){ 
     event.preventDefault(); 
     var selection = event.target.value; 
     if(selection == "uploadStudents"){ 
      // your specific input file trigger like 
      // $('input[type=file]').click(); 
     } 

    } 
});