从元素名称获取输入值以...开头(jQuery)

时间:2018-05-28 19:51:38

标签: jquery input

我正在尝试获取name属性获取的输入值。这是我的代码:

$("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 :(得分:0)

使用以下代码:

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

问题是() =>我认为是typescript创建函数的方式。

() => {}被称为arrow function

  

与函数表达式相比,箭头函数表达式具有更短的语法,并且词汇绑定此值(不绑定自己的thisargumentssuper或{{1} })。箭头功能始终是匿名的。

<强>演示

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