1

asp.net ボタン コントロールの ID を JavaScript 関数に渡そうとしています。js 関数 start_time を呼び出すと、ボタンのテキストを変更する必要があります。私は多くの研究を行ってきましたが、まだそれを機能させることができません。どんな助けやアドバイスも大歓迎です。以下は私が持っているコードです。

<asp:Button ID="btnStart" runat="server" Text="OK" />

            $("#btnStart").click(function () {
            start_time("btnStart");
        });

            function start_time(controlStart) {
            var a = document.getElementById(controlStart);
            a.innerHTML = "Start";
        }
4

3 に答える 3

0

@Archerの答えはほぼ正しいですが、このようにClientIDを使用する必要があります..!!

 $('#' + '<%= btnStart.ClientID %>').click(function() {
start_time(this);
});
于 2013-11-09T06:24:16.263 に答える
0

クライアントで ASP.net コントロールを選択する最も簡単な方法は、次のようなものです...

$("[ID$=btnStart]").click(function() {
    start_time(this);
});

このコードでは、ボタンを関数に渡すstart_timeため、DOM を検索する必要はありません...

function start_time(control) {
    control.innerHTML = "Start";
}

ASP.net がコントロールに対して行う ID のプレフィックスにより、ID はページごとに異なるコンテキストで変化する可能性があります。そのセレクターは基本的に、ID が btnStart で終わるすべての要素を選択します。

たとえば ClientID を使用する方法は他にもありますが、スクリプトが実際に実行されている場所によっては、ASP と JS ファイルを混在させることを意味する場合があります。

このスクリプトが含まれている js ファイルからではなく、ページ上で直接実行されている場合は、次のことができます...

$("#<%= btnStart.ClientID %>").click(function() {
    start_time(this);
});

これにより、サーバーでページが解析されるときに指定された ID によってボタンが選択されます。

于 2013-11-08T16:55:31.333 に答える