fadeIn(),javascript中的fadeOut()不起作用

时间:2013-05-05 05:48:44

标签: javascript asp.net fadein

我想在我的网页中使用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:&nbsp;
<br>
<select id="DropDownList1" name="DropDownList2">
<option value=""></option>
<option value="m">a</option>
<option value="m1">b</option>
</select>

1 个答案:

答案 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