1

その中にリピーター、アンカータグ、divタグがあります。アンカーには、slidetoggle を実行している jquery があります。しかし、たとえば、リピーター div カウントに 5 つのアイテムがある場合、アンカーをクリックするとすべての div がスライドトグルを実行します。

itemcommand を使用すれば問題ないのですが、今回は js が機能しません。私はlinkbuttonを使用していて、ご存知のようにクリックイベントがないためです。それで、それを修正する解決策はありますか?これが私のリピーターとjsです。

<head runat="server">
    <title></title>
    <script src="jquery-1.8.4.js"></script>
    <script src="jquery-ui-1.9.2.custom.js"></script>
    <script src="jquery-ui-1.9.2.custom.min.js"></script>
    <script>
        $(function () {
            $('[id*=aNotice]').click(function () {
                $('[id*=dvContent]').slideToggle(400);
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Repeater ID="rptNotice" runat="server">
                <ItemTemplate>
                    <a id="aNotice" runat="server">click to see toggle</a>
                    <div id="dvContent" runat="server"><%#Eval("content") %></div>
                </ItemTemplate>
            </asp:Repeater>
        </div>
    </form>
</body>
</html>
4

1 に答える 1

2

メソッドを使用できますnext

$(function () {
     $('[id*=aNotice]').click(function () {
          $(this).next('div').slideToggle(400);
     });
});

ID は一意である必要があり、使用はやり過ぎであることに注意してください$('[id*=aNotice]')代わりにクラスを使用する必要があります。

$('.aNotice').click(function (event) {
     event.preventDefault()
     $(this).next('div').slideToggle(400);
});

また、jQuery UI を 2 回ロードする必要がありjquery-ui-1.9.2.custom.min.jsますjquery-ui-1.9.2.custom.js

<script src="jquery-ui-1.9.2.custom.js"></script>
<!-- <script src="jquery-ui-1.9.2.custom.min.js"></script> -->
于 2012-12-28T08:35:24.713 に答える