0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法'SumoSelect'

0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'SumoSelect'

本文关键字:方法 SumoSelect 属性 不支持 JavaScript 运行时错误 对象 0x800a01b6      更新时间:2023-09-26

当试图调用SumoSelect函数对aspx页面上的选择选项元素时,我得到了上述错误消息。

我的网页中有以下引用:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js" type="text/javascript"></script>
<script src="jquery.sumoselect.js"  type="text/javascript"></script>
<link href="sumoselect.css" rel="stylesheet" />

文件取自:https://github.com/HemantNegi/jquery.sumoselect/zipball/master

目前我在我的项目中只包含了以下下载:

  1. jquery.sumoselect.js

  2. sumoselect.css

我的jQuery正确地定位了一个元素:

<script type="text/javascript">
$(document).ready(function () {
  var elements = document.getElementsByTagName("*");
  for (i = 0; i < elements.length; i++) {
    element = elements[i];
    name = element.id;
    if (name.match(/FieldId_3/)) {
      $(element).SumoSelect();
    }
  }
});
</script>

但是,当它到达$(element).SumoSelect();它产生错误"0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法'SumoSelect'"

我是jQuery/Javascript的新手,但尝试过多次尝试调用此函数并传递对象,但是没有一个工作。

有什么办法能帮我把它弄好吗?

首先,您正在使用jQuery,为什么要使用香草JavaScript来获取DOM元素,并遍历所有集合,仅通过其id获取一个元素?(id属性在文档中应该是唯一的)

你可以重构你的代码,只在满足选择器条件的元素上初始化你的插件:

$(document).ready(function () {
  $('#FieldId_3').SumoSelect();
});

如果没有满足条件的元素,插件not将被初始化(安全),因为jQuery返回一个空的like-array对象。

显然,id为 FieldId_3的元素必须是select元素,如这里所述:https://hemantnegi.github.io/jquery.sumoselect/

您用来运行SumoSelect的方法,就像其他人说的那样,说得委婉点,有点过分了。

然而,我已经测试了你的代码,它确实工作,假设jquery.sumoselect.js文件是在同一个目录下的HTML文件的问题。

我建议,然后,你的问题是没有找到SumoSelect jQuery插件。

一旦这个错误被修复,您应该按照Nick R.建议的方式运行SumoSelect。

(我和Malieki一起工作,为了完整起见,我选择了这个…)经过几个小时的尝试和错误,我发现当我注释掉下面的代码时,sumoselect部分开始正常工作。我们在用萨普林做实验。首先控制DropDownCheckBoxes,然后找到sumoselect,但我们在相同的aspx中保留了一个控件(对于Saplin)。

    <asp:DropDownCheckBoxes ID="TypeCB" runat="server" OnSelectedIndexChanged="TypeCB_SelectedItemsChanged" AutoPostBack="True" Font-Size="7pt" font-family="Verdana" CssClass="txt_box"
    AddJQueryReference="True" meta:resourcekey="checkBoxes2Resource1" UseButtons="True" UseSelectAllNode="False">  
    <Style2 SelectBoxWidth="160" DropDownBoxBoxHeight="230" DropDownBoxBoxWidth="200" />
    <Texts OkButton="Ok" CancelButton="Cancel" SelectAllNode="ALL" SelectBoxCaption="Type" />
    </asp:DropDownCheckBoxes>

当这个控件被删除时,相扑jquery的东西都开始正常工作。我只能假设他们之间有冲突。谢谢大家的帮助,我们都是新手。