jQuery: Как открыть диалоговое окно открытия файла при нажатии кнопки - PullRequest
0 голосов
/ 17 февраля 2020

Как сделать диалоговое окно открытым при нажатии кнопки на swallow рендеринге. Это может быть динамически повторяемая кнопка, поскольку она находится внутри li.

enter image description here

// Код

var wrapper = $(this).parents(".file-upload-wrapper")[0];
$(wrapper).find('.attachment-button-div')[0].click(function() {
 $(wrapper).find('.attachment-button')[0].trigger('click');

});

$(wrapper).find('.file-upload').change(function() {
 $('input[type=text]').val($(this).val());
});

Но это не работает, как ожидалось. Любое предложение.

Ответы [ 2 ]

1 голос
/ 17 февраля 2020

вы можете попробовать это. создавать кнопки и соответствующие невидимые файлы ввода для каждой кнопки. Добавьте немного jQuery, чтобы вызвать / щелкнуть соответствующий невидимый файл ввода:

function openfile(a) {
  $(a).trigger('click');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="button1" onclick='openfile("#file-input3")' class="file-button"> Open</button>
<input id="file-input1" type="file" name="name" style="display: none;" />

<button id="button2" onclick='openfile("#file-input2")' class="file-button"> Open</button>
<input id="file-input2" type="file" name="name" style="display: none;" />

<button id="button3" onclick='openfile("#file-input3")' class="file-button"> Open</button>
<input id="file-input3" type="file" name="name" style="display: none;" />
0 голосов
/ 17 февраля 2020

почему вы просто не используете тег ввода с типом файла? Откроется диалоговое окно выбора файла.

<h3>Please choose your attachment:</h3>
<form action="">
  <label for="myfile">Select files:</label>
  <input type="file" id="myfile" name="myfile" multiple><br><br>
  <input type="submit">
</form>
...