我尝试针对aspx页面上的select选项元素调用SumoSelect函数时收到上述错误消息。
我的网页上有以下参考资料:
<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
目前我只在下载项目中包含以下内容:
jquery.sumoselect.js
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>
然而,当它达到$(元素).SumoSelect();它产生错误&#34; 0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法&#39; SumoSelect&#39; &#34;
我对jQuery / Javascript很新,但尝试了多次尝试调用此函数并传递对象,但是没有一个有效。
有什么想法可以帮我搞定吗?
我会感激任何帮助。
答案 0 :(得分:0)
首先,您正在使用 jQuery ,为什么要使用Vanilla JavaScript来获取DOM元素,并迭代所有集合,只能通过 id 获取一个元素? (id属性在文档中应该是唯一的)
您可以重构代码并仅在符合选择条件的元素上初始化插件:
$(document).ready(function () {
$('#FieldId_3').SumoSelect();
});
如果没有符合条件的元素,则不会(安全地)初始化插件,因为jQuery返回一个空的 like-array 对象。
显然, id FieldId_3
的元素必须是 select 元素,如下所述:https://hemantnegi.github.io/jquery.sumoselect/
答案 1 :(得分:0)
正如其他人所说的那样,运用SumoSelect的方法有点过分,温和地说。
但是,我已经测试了您的代码并且它确实有效,假设jquery.sumoselect.js
文件与相关HTML文件位于同一目录中。
那么我建议您的问题是找不到SumoSelect
jQuery插件。
但是,修复错误后,您应该按照Nick R建议的方式运行SumoSelect。
答案 2 :(得分:-1)
(我和Malieki一起工作,为了完整性而选择了这个...)经过几个小时的试验和错误,我发现当我注释掉下面的代码时,sumoselect部分开始工作正常。 我们首先尝试使用Saplin.Controls 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的所有内容都开始正常工作。 我只能假设他们之间存在冲突。 感谢大家的帮助,我们都是新手。