我想在我的网页中使用javascript中的fadeIn和fadeOut;但它不起作用; 这是我的代码;你能告诉我问题出在哪里吗?它根本不会消失和褪色!
$(document).ready(function () {
$("#DropDownList1").each(function () {
$('ListItem', this).each(function () {
if ($(this).attr("selected") == true)
if (($(this).text() != "a")) {
$("div#select").fadeOut();
}
else {
$("div#select").fadeIn();
}
});
});
});
这是我的下拉列表:
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value=""></asp:ListItem>
<asp:ListItem Value="m">a</asp:ListItem>
<asp:ListItem Value="m1">b</asp:ListItem>
</asp:DropDownList>
这是我的实际html:
<td class="style5" width="20%">
situation:
<br>
<select id="DropDownList1" name="DropDownList2">
<option value=""></option>
<option value="m">a</option>
<option value="m1">b</option>
</select>
答案 0 :(得分:0)
将我的评论转化为答案......
您应该查看浏览器看到的实际HTML(而不是ASP模板代码),因为我不认为jQuery会在HTML中看到ListItem。 HTML中的标准下拉列表是<option>
标记。您的ASP可能正在生成该内容或其他内容。
在浏览器中执行View / Source并查看浏览器实际看到的HTML并将jQuery编码为该。 $('ListItem', this)
可能找不到任何东西。在编写jQuery来操作它时,你几乎不应该使用ASP代码。在将ASP模板转换为常规HTML后,您需要知道浏览器实际看到了什么。
仅供参考,您的代码的简化版本也会在下拉列表选择更改时运行,如下所示:
$(document).ready(function () {
function checkDropDownList() {
if ($("#DropDownList1 option:selected").text() != "a") {
$("#select").fadeOut();
} else {
$("#select").fadeIn();
}
}
checkDropDownList();
$("#DropDownList1").change(checkDropDownList);
});
如果只有一个选定的项目我们已经知道只有一个.each()
,则没有理由使用DropDownList1
。