2015-03-23 2 views
0

Я пытаюсь вызвать щелчок по элементу входного файла внутри шаблона после нажатия на определенную ссылку, хотя ничего не происходит, когда я нажимаю на ссылку, может кто-то, пожалуйста, скажите мне, что мне здесь не хватает/делать не так? БлагодаряMeteor send Нажмите, чтобы ввести файл

Template.uploadResources.events({ 
'click #drop1link':function(event, template){ 
    $(event.target).find('[name=upl]').click(); 
} 
}); 

Шаблон:

<template name="uploadResources"> 
      <div class="col-md-4"> 
      <form id="upload-2" method="post" enctype="multipart/form-data" class="upload"> 
       <div id="drop-2" class="drop"> 
        <a id="drop1link" name="drop1link">Click Here</a> 
        <input type="file" name="upl" multiple /> 
       </div> 
      </form> 
      </div>    
</template> 
+0

Не работает, потому что вы используете .find(), но то, что вы ищете, не является потомком event.target. Вы можете использовать .next(). –

+0

@ RamsayLanier благодарит много, но можете ли вы, пожалуйста, объяснить свой ответ больше, пожалуйста? – MChan

ответ

1

Ее не работает, потому что вы используете .find(), но то, что вы поиск не является потомком event.target. Вы можете использовать .next(), вот так.

Template.uploadResources.events({ 
'click #drop1link':function(event, template){ 
    $(event.target).next('[name=upl]').click(); 
} 
}); 
1

попробуйте использовать функцию trigger() активаций события вроде так: $(event.target).find('[name=upl]').trigger('click');

+0

, но вы можете захотеть запускать 'fileselect' вместо' click', если вы пытаетесь открыть диалог выбора файла. – Aaron

+0

Мне нужно вызвать ввод файла чуть ниже ссылки (name = upl) – MChan

+0

Кстати, просто попробовал это с триггер, не работает – MChan