Javascript jQuery IE9:无法获取属性“val”的值:对象为null或未定义

Javascript jQuery IE9:无法获取属性“val”的值:对象为null或未定义,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,我在IE9中得到这个错误,指向return self.subQuantity.val行;在下面的片段中。这是什么原因造成的 我应该补充一点,这在FF中非常有效 部分功能: $(document).ready(function() { plan = (function() { var plan = { subQuantity: $('.downgrade .count'), ... init: function(productCatalog) {

我在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

改变


它以未定义值的形式返回,因此无论您尝试将其设置为val或length,都会出现相同的错误对话框 我也面临同样的问题 这个问题的解决方案是什么 在调用任何方法之前,需要检查该值是否未定义或否 这是我怎么修好的

         if (typeof $("#<%=hdnSupplierDialog.ClientID%>").val() === "undefined")
                return;
我只是防止在值未定义的情况下调用代码 我希望它对你有用:

这是个错误。您正在向此处的a引用窗口回写—在IE中不可写。添加a


它会起作用。

什么是子数量?变量,文本字段?什么是prodCat?该函数接受参数productCatalog。@blake305子数量现在应该已清除,很抱歉mistake@scott.korinprodCat现在应该很清楚了,我错误地重命名了一些元素来发布init是如何被调用的?self在筛选器回调中是什么样子的?无法获取属性“attr”的值:对象为null或未定义。@stef请为类发布html代码。降级。countdone,它只是一个简单的div,在一个有一个输入字段的表单中。@stef是否尝试获取输入框的值?用户键入的值?这里的问题不在于.val返回Unfind!我使用的是$.val.split',,所以我面临这个问题,在我阻止它在未查找的情况下转到那里之后,它就开始工作了
return self.subQuantity.val();
return self.subQuantity.attr("value");
         if (typeof $("#<%=hdnSupplierDialog.ClientID%>").val() === "undefined")
                return;
           self = this;
            var self = this;