1

私はこの質問がかなり聞かれていることを知っていますが、私には何もうまくいかないようです。私は多くの質問と回答を読みました。

JQueryイベントを使用してASP.NETコントロールのイベントを処理していますが、イベントは発生しません。

これは私が試したことです:

私のドロップダウンリスト:

<asp:DropDownList ID="List_ValueStream" runat="server" Width="195px" />

DropDownListにイベントを追加しようとしていますが、すべて個別にテストされています。

の:

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

/

    $(document).ready(function () {
        $("#<%=List_ValueStream.ClientID%>").change(function () {
            alert('1 Handler for .change() called.');
        });
    });

/

    $(document).ready(function () {
        $("#List_ValueStream").change(function () {
            alert('2 Handler for .change() called.');
        });
    });

/

    $(document).ready(function () {
        $("#List_ValueStream").on('change', function () {
            alert('3 Handler for .change() called.');
        });
    });

/

    $("#<%=List_ValueStream.ClientID%>").change(function () {
          alert('4 Handler for .change() called.');
    });

/

    $("#List_ValueStream").change(function () {
        alert('5 Handler for .change() called.');
    });
4

2 に答える 2

7

これらの2行の間にスクリプトを記述しましたか。次に、次のようにスクリプトを別のスクリプトタグに記述します

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

</script>


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

<script type="text/javascript">
 $(document).ready(function () {
    $("#<%=List_ValueStream.ClientID%>").change(function () {
        alert('1 Handler for .change() called.');
    });
});
</script>

これだけが理由だと思います。そうでなければ、それは大丈夫です。asp.net 4.0以降を使用している場合は
ClientIDMode=staticを利用できます。次のように、コントロールのIDは変更されません。

 <asp:TextBox ID="txtEcho2" runat="server" ClientIDMode="Static" /> 

したがって、ClientIdを取り除くことができます

于 2013-01-24T15:42:58.213 に答える
4

このように使用してうまく機能することができます

<asp:DropDownList ID="List_ValueStream" runat="server" Width="195px" onchange="youfunction();"/>
于 2013-01-24T15:46:02.387 に答える