得到一个奇怪的jquery错误,我无法弄明白

时间:2016-09-26 16:29:46

标签: javascript jquery html

我正在尝试在用户输入金额并即时收到此错误时运行事件

未捕获的TypeError:无法读取属性' toLowerCase'未定义的

HTML

<input type="text" id="ItemQuantity#i#" name="ItemQuantity#i#" onkeypress="return isNumeric(event)" onkeydown="return keyispressed(event);" onchange="autototal()">

尝试专注于onchange =&#34; autototal()&#34;

JQuery的

function autototal(){
  var sum = 0;
  var quantity = 0;
  var price = 0;
  var totalPrice = 0;
  quantity = $(this).val();
  price = $(this).closest('.col-price').find('input').val();

  console.log(quantity);
  console.log(price); 
}

1 个答案:

答案 0 :(得分:3)

您调用处理程序的方式,fallback_fonts.xml不是元素,而是this

使用jQuery挂钩处理程序,这将确保window引用元素:

this

...或者如果您真的想使用$("[id='ItemQuantity#i#']").on("change", autototal); - 属性风格的事件处理,请执行以下操作:

onxyz

它应该按原样运行,或者这样做:

<input ... onchange="autototal.call(this)">

...并更新onchange="autototal(this)" 以使用参数而不是autototal