OlegLantukh
@OlegLantukh
Верстальщик

Как применить событие change к текущему элементу?

Добрый день!
Подскажите пожалуйста, у меня есть 3 поля input с классом "form__input-file"
Как правильно изменить скрипт, чтобы событие срабатывало на текущем поле input?
var $file = $('.form__input-file'),
      $label = $file.next('label'),
      $labelText = $label.find('span'),
      labelDefault = $labelText.text();

    $file.on('change', function(event){
      var fileName = $file.val().split( '\\' ).pop();
      if( fileName ){
        $labelText.text(fileName);
      }else{
        $labelText.text(labelDefault);
      }
	});

<input class="form__input-file" type="file" name="file"  id="file-1">
        <label for="file-1"><span>Прикрепить файл</span></label>
  • Вопрос задан
  • 26 просмотров
Решения вопроса 1
HamSter007
@HamSter007
HTML/CSS верстальщик
var $file = $('.form__input-file');
    

$file.on('change', function(event){
  
  var $this = $(this),
      $label = $this.next('label'),
      $labelText = $label.find('span'),
      labelDefault = $labelText.text();
  
  var fileName = $this.val().split( '\\' ).pop();
  if( fileName ){
    $labelText.text(fileName);
  }else{
    $labelText.text(labelDefault);
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы