Выберите тип ввода изображения, когда идентификатор имеет определенный шаблон - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть несколько входов типа файла. Их идентификаторы следуют шаблону: image_1 , image_2 , image_3 и т. Д.

Этот подстановочный знак $('input:file[id^="image_"]') выбирает все файлы входного типа, чьи идентификаторы начинаются с image_

Проблема с указанным выше символом подстановки: файл типа ввода с id="image_img" также будет выбран.

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

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Выберите входы, идентификатор которых начинается с (^=) image_ и не заканчивается на (.not($=)) _img.

console.log($('input:file[id^=image_]').not('[id$=_img]').get())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="image_1" />
<input type="file" id="image_2" />
<input type="file" id="image_3" />
<input type="file" id="image_img" />
0 голосов
/ 30 апреля 2018

Насколько я знаю, для этого нет прямого ярлыка. Хороший подход, однако, состоит в том, чтобы отфильтровать элементы по их идентификаторам:

$('input:file[id^="image_"]')
    .filter(function() {
        return this.id.match(/^image_\d+$/);
    })
...