我在IE9中收到此错误,指向下面代码段中的行return self.subQuantity.val();
。什么可能导致这种情况?
我应该在FF中完美地添加它。
部分功能:
$(document).ready(function() {
plan = (function() {
var plan = {
subQuantity: $('.downgrade .count'),
...
init: function(productCatalog) {
this.prod = productCatalog;
this.reset();
self = this;
this.fetchButton.bind('click', function(e) {
self.fetchScenarii();
return false;
}).filter(function() {
return self.subQuantity.val();
})
}
HTML
<div class="downgrade">
...
<input type="count" name="count" />
...
</div>
答案 0 :(得分:1)
self = this;
是错误吗?您正在写入global self
variable(此处引用回window
) - 这在IE中是不可写的。添加var
declaration
var self = this;
它会起作用。
答案 1 :(得分:0)
它返回为未定义的值,所以你尝试使它像val或length一样会保持给你相同的错误对话框 我面临同样的问题 解决方案 在调用任何方法之前,您需要检查值是否未定义 我在这里如何解决它
if (typeof $("#<%=hdnSupplierDialog.ClientID%>").val() === "undefined")
return;
我只是阻止在未定义值的情况下调用代码 我希望它适合你:)
答案 2 :(得分:-2)
更改
return self.subQuantity.val();
到
return self.subQuantity.attr("value");