我在aspx页面中使用了一个System.Web.UI.HtmlControls.HtmlSelect控件:
<select id="selContract" runat="server" class="default-select2" onchange="onchangeContract(this)" tabindex="-1" style="display: none; width: 100%;"></select>
页面的JS代码如下:
<script type="text/javascript">
$(".default-select2").select2();
$(function () {
//$(".default-select2").select2();
// $("#selContract").select2();
});
$(function () {
$("#tablePro").load("Process/QueryHandler2.ashx?active=ProblemTable");
});
function onchangeContract(item) {
var sPbsId = $(item).attr("value");
$("#tablePro").load("Process/QueryHandler2.ashx?active=ProblemTable&pbsId=" + sPbsId);
}
</script>
页面加载时,select控件通过后台的cs文件加载数据,选择控件中的某条数据,页面中的列表显示相应的数据。
现在的问题是,页面有时会显示空白,提示的错误如标题,即:
Uncaught TypeError:$(".default-select2").select2 is not a function
但刷新一下,页面又正常显示了。
前面的JS代码中,标红色的是第一版的代码,标青色的是改动过的代码,但均出现过同样的错误提示。
请教大家,是什么原因导致的这个问题?怎样解决呢?
请大家帮忙,谢谢!
请检查select2插件是否引入
请检查选择器是否选中了dom元素
请留意代码执行顺序
应该是引用了select2插件的,因为这个问题是偶尔出现,而不是每次都出现
@0724job: 那就考虑加载顺序问题。
@幻天芒: 我把js方法放在前面,html放在后面,有时还是会出现这个错误
可能我对select2这个插件的用法还不够了解
我把select2.min.css和select2.min.js这两个文件重新引用到页面中,再观察一段时间看看
请检查选择器是否选中了dom元素
调试时,显示是选中了的,错误是有时才出现,可能还是select2插件引入的问题