1 回答
TA贡献1848条经验 获得超6个赞
所以,你愿意在你的javascript代码中使用一个方法,但它不适合你。它没有击中它的背后可能有很多原因,我会在这里写一些可能的原因及其各自可能的解决方案。
原因:
由于您使用 jQuery 将下拉列表与更改事件绑定,我怀疑您的 jQuery 是否被正确引用。
解决方案:
转到浏览器的开发工具选项console卡 ( CTRL++ ) 并查看是否存在未加载 jQuery 的任何错误,如果是则修复它SHIFT。I
原因:
在绑定事件#之前,您没有指定 css 选择器。id
解决方案:
$(function () {
$(document.body).on('change', '#_ddlMode', function () {
var _index = $("select[id='_ddlMode'] option:selected").index();
SetModes(_txtBank, _txtZip, _index);
});
});
原因:
您的事件未绑定到所需的控件。这可能非常特定于ASP.NETWeb 窗体,因为您在构建 Web 应用程序时可能会遇到它。
因此,从技术上讲,ASP.NET可以在编译控件时修改控件的 ID,这可能是未命中该方法的可能原因。
例如,如果您有一个ContentPlaceHolder带有一个idofcph_1并且其中有标记作为您的子页面,那么ASP.NET将将该 id 与您的每个嵌套服务器控件连接起来。因此,如果您在该内容占位符中有一个textbox带有一个idof ,则在浏览该页面时它会被修改为。tb1cph1_tb1
解决方案:
借助此语法 ( <%%>) 绑定您的事件,如下所示:
$(function () {
$(document.body).on('change', '#<%= _ddlMode.ClientID %>', function () {
var _index = $("select[id='<%= _ddlMode.ClientID %>'] option:selected").index();
SetModes(_txtBank, _txtZip, _index);
});
});
看看您是否可以使用这些解决方案解决问题。
添加回答
举报