0

我有一个带有下拉列表和 Ajax 组合框的 ASP.Net 应用程序。我需要根据下拉列表中选择的项目启用/禁用 ComboBox。我已经尝试过使用客户端 javascript 和 C# 服务器端代码。我已经在javascript中尝试过这个来启用组合框,使用onchange事件:

var IMEI = $find("<%=cbIMEI.ClientID %>");
IMEI._element.disabled = false;
IMEI._element.isContentEditable = true;
IMEI._element.isDisabled = false;

这些方法都没有启用 ComboBox。我也在服务器端尝试过,使用 OnSelectedIndexChanged 事件:

cbIMEI.Enabled = enabled;

这行得通,有点。这里的问题是第一次更改下拉列表值时它不起作用,但它会在第二次更改值时起作用。当我浏览调试器中的代码时,它告诉我 ComboBox 在第一次值更改后启用,但它仍然是灰色的,并且在我再次更改值之前无法单击。谁能告诉我该怎么做?

4

1 回答 1

0

我偶然发现了如何通过反复试验来解决这个问题。代替

var IMEI = $find("<%=cbIMEI.ClientID %>");

我用了

var IMEIID = '<%= cbIMEI.ClientID %>';
var IMEI = document.getElementById(IMEIID);

这样做,

IMEI.disabled = false;

完美运行。我完全不明白为什么,但就是这样。

于 2013-08-27T19:16:48.720 回答