1

为什么我的 Div 没有向上滑动?我在哪里做错了?这是我的 jquery 详细信息。我指的是正确的网址还是我有问题的地方?

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">

 $(document).ready(function () {
     var $fieldRevItems = $("#dvDetails");
     $('#<%=btnClose2.ClientID %>').click(function (e) {
           $('#<%=txtSearch.ClientID %>').val('');
           $fieldRevItems.slideUp(600);
           e.preventDefault();
      });
  });
 </script>

这是我的 html 详细信息(不过是一个包含一个表的 div)

<div id="dvDetails">
        <table id="tblDetails" width="30%" style="border: Solid 3px #D55500; height: 100%"
            cellpadding="0" cellspacing="0">
            <tr style="background-color: #D55500">
                <td colspan="2" style="height: 10%; color: White; font-weight: bold; font-size: larger" align="center">
                    User Details
                </td>
            </tr>
            <tr>
                <td align="right">
                    UserId:
                </td>
                <td>
                    <asp:Label ID="lblID" runat="server"></asp:Label>
                </td>
            </tr>
            <tr>
                <td align="right">
                    UserName:
                </td>
                <td>
                    <asp:Label ID="lblusername" runat="server"></asp:Label>
                </td>
            </tr>
            <tr>
                <td align="right">
                    FirstName:
                </td>
                <td>
                    <asp:TextBox ID="txtfname" runat="server" />
                </td>
            </tr>
            <tr>
                <td align="right">
                    LastName:
                </td>
                <td>
                    <asp:TextBox ID="txtlname" runat="server" />
                </td>
            </tr>
            <tr>
                <td align="right">
                    City:
                </td>
                <td>
                    <asp:TextBox ID="txtCity" runat="server" />
                </td>
            </tr>
            <tr>
                <td align="right" style="width: 100%">
                    Designation:
                </td>
                <td>
                    <asp:TextBox ID="txtDesg" runat="server" />
                </td>
            </tr>
            <tr>
                <td align="center" style="width: 100%">
                    <asp:Button ID="btnClose2" runat="server" Text="Close" />
                </td>
            </tr>
        </table>
    </div>
4

2 回答 2

1

您的选择器似乎是问题所在:$('#<%=btnClose2.ClientID %>')$('#<%=txtSearch.ClientID %>'). 您是否能够根据这些选择器触发任何事件?

JavaScript 中引用的选择器应该是输出源代码中显示的选择器。如果您尝试将动态值从另一种语言传递到 JS(似乎是给定代码的情况),那么您需要将该值转换为 JavaScript 变量以不带引号传递给 jQuery,或者将您的 JavaScript 嵌入到其他语言的模板文件中,然后将回显的输出直接连接为 jQuery 选择器。

长话短说,您将动态外观的代码作为字符串传递给 jQuery,而不是传入有效的选择器。

于 2013-11-05T22:11:39.340 回答
1

选择器很好。但是,您不需要将 $ 用于任何事情,您应该:

$(function () {
 var fieldRevItems = $("#dvDetails");
 $('#<%=btnClose2.ClientID %>').click(function (event) {
       event.preventDefault();
       $('#<%=txtSearch.ClientID %>').val('');
       fieldRevItems.slideUp(600);
  });
});
于 2013-11-05T22:38:42.427 回答