0

我想在我的网页中使用 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>
4

1 回答 1

0

将我的评论变成答案...

您应该查看浏览器看到的实际 HTML(不是 ASP 模板代码),因为我认为 jQuery 在 HTML 中看不到 ListItem。HTML 中的标准下拉菜单是<option>标签。您的 ASP 可能正在生成那个或其他东西。

在浏览器中执行视图/源代码并查看浏览器实际看到的 HTML 并将您的 jQuery 编码为该 HTML。$('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

于 2013-05-05T05:58:11.907 回答