Получить входное значение из элемента по имени начинается с ... (jQuery) - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь получить значение ввода, которое я получаю по атрибуту имени.Это мой код:

$("input[name^='valor-unit-']").keyup(() => {
    console.log($(this).val())
})

Но я получаю сообщение об ошибке:

jquery-3.3.1.min.js:2 Uncaught TypeError: Cannot read property 'toLowerCase' of undefined
    at w.fn.init.val (jquery-3.3.1.min.js:2)
    at HTMLInputElement.$.keyup (main.js:636)
    at HTMLInputElement.dispatch (jquery-3.3.1.min.js:2)
    at HTMLInputElement.y.handle (jquery-3.3.1.min.js:2)
val @ jquery-3.3.1.min.js:2
$.keyup @ main.js:636
dispatch @ jquery-3.3.1.min.js:2
y.handle @ jquery-3.3.1.min.js:2

Есть идеи?

1 Ответ

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

Используйте следующий код:

$("input[name^='valor-unit-']").keyup(function() {
    console.log($(this).val())
})

Проблема заключается в () =>, как я полагаю, typescript способе создания функции.

Вызывается () => {}arrow function

Выражение функции со стрелкой имеет более короткий синтаксис по сравнению с выражениями функций и лексически связывает значение this (не связывает свое собственное this, arguments, super илиnew.target).Функции стрелок всегда анонимны.

Демо

$("input[name^='valor-unit-']").keyup(function() {
    console.log($(this).val())
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="valor-unit-1" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...