4
<asp:RadioButton ID="myButton" Text="Option" GroupName="group" runat="server" />

この場合、なぜ javascript 関数呼び出しが$find('<%= myButton.ClientID %>')returnなのnullですか? クライアント JavaScript の値を検出/変更する必要があります。$find()のショートカットにする必要がありますSys.Application.findComponent()

更新: ID に問題はありません。Chrome コンソールで $find() を実際にレンダリングされた ID で試しましたが、まだ null になっています。そして、DOM要素ではなく、Ajaxコントロールを取得したい。

4

4 に答える 4

2

複数のインスタンスがない場合は、clientIdMode を static に設定する必要があります。

<asp:RadioButton ClientIDMode="static" ID="myButton" Text="Option" GroupName="group" runat="server" />

また

ボタンの検索にアクセスするには、ClientID を使用する必要があります。ただし、スクリプトは同じページにある必要があります。

var radioButton = $('#<%= myButton.ClientID %>');
于 2012-12-14T09:52:39.630 に答える
0

$find()は、動作 ID から ASP.NET AJAX コンポーネントを見つけようとします。

コンポーネントではなく DOM 要素を探しているため、代わりに$get()を使用する必要があります。

var yourButton = $get("<%= myButton.ClientID %>");
于 2012-12-14T09:55:11.600 に答える
0

directlyid で要素を評価できnot、使用する必要があります。id は html 要素に対して一意であるため、セレクターがfind必要です。id

$(function(){
    var myButton = $('#<%= myButton.ClientID %>');
    alert(myButton.id);

    //with javascript
    myButton = document.getElementById('#<%= myButton.ClientID %>');
});
于 2012-12-14T09:51:55.890 に答える
0

コンポーネントを取得しようとしているときに、DOM の準備ができていますか?

次のようなことを試してください:

window.onload = function() {
    alert( $find('myButton') );
}
于 2012-12-14T09:52:19.180 に答える