jQuery each () работает неправильно - PullRequest
0 голосов
/ 28 мая 2018

Вот два поля ввода, и мне нужна функциональность, чтобы после того, как пользователь сфокусировал / размыл поле ввода после введенного значения, введенное значение должно быть преобразовано в заглавные буквы.

$("#input1").blur(function() {
      $('#input1').val($('#input1').val().toUpperCase());
});
$("#input2").blur(function() {
      $('#input2').val($('#input2').val().toUpperCase());
});

Если яЯ использую each (), который работает только для одного поля ввода.Я пишу такой код:

$("#input1,#input2").each(function() {
   $(this).blur(function() {
      $(this).val($(this).val().toUpperCase());
});

Любая помощь будет высоко оценена.

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Код, который вы вставили, не является синтаксически правильным, однако, если исправлено, работает нормально:

$("#input1,#input2").each(function() {
   $(this).blur(function() {
      $(this).val($(this).val().toUpperCase());
   });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input1" type="text">
<input id="input2" type="text">
0 голосов

В коде отсутствует "});"

Йо тоже может сделать что-то подобное:

$("input").each(function() {
   $(this).blur(function() {
      $(this).val($(this).val().toUpperCase());
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input1" type="text">
<input id="input2" type="text">

Если у вас более двух входных данных и, например, вы хотите перебрать только два, вы можете поместить класс в любой вход (или любой элемент), которыйВы хотите повторить.

$(".example-class").each(function() {
   $(this).blur(function() {
      $(this).val($(this).val().toUpperCase());
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input1" type="text">
<input id="input2" class="example-class" type="text">
<input id="input3" class="example-class" type="text">
...