【发布时间】:2009-02-25 14:55:20
【问题描述】:
我有以下 javascript:
$(document).ready(function() {
$('#<%= DropDownList1.ClientID %>').change(function() {
$('#<%= TextBox1.ClientID %>').disabled = $('#<%= DropDownList1.ClientID %>').selectedIndex != 1;
});
});
当我更改下拉列表的索引时,没有任何反应。我尝试将代码替换为:
$(document).ready(function() {
$('#<%= DropDownList1.ClientID %>').change(function() {
alert($('#<%= DropDownList1.ClientID %>').id);
});
});
这会生成一条提示“未定义”的警报。如果我删除 .id 部分,我会收到一个警报,上面写着 [object Object],所以我猜它有一些东西。我做错了什么?
【问题讨论】:
-
对于 ASP.NET id,因为它们存在于客户端页面上,您通常可以在 jQuery 中执行以下操作:$('input[id$=TextBox1').它匹配 ID 的结尾,该 ID 始终与您在 ASP.NET 中为元素提供的 ID 相同。这比把 放在你的 js 代码中更干净。
-
我没有让它工作。您是否错过了该代码中的任何字符?
-
对不起,这确实有效。我没有开始工作的是 $('input[id$= DropDownList1') 但如果我将其更改为 $('[id$= DropDownList1') 效果很好。由于某种原因,“输入”不适用于 asp.net 下拉列表。