当在下拉列表中选择元素时触发文件输入浏览器
问题描述:
当从下拉列表中选择值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"/>
答
在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();
}
}
});
这变得非常黑客。您可以使用select来显示/隐藏实现上载的另一个表单(由选项的值作为目标)。更容易实施和维护。当子窗体变大时,您可以轻松地将它们提取到自己的模板中。 – Jankapunkt