1

RadioButtonのグループを動的に作成してから、javascriptで選択されたものを取得したいと思います。

コントロールは次のように作成されます。

protected override void CreateChildControls()
{
    base.CreateChildControls();
    var rb = new RadioButton {GroupName = "group1"};

    this.availableActions.Controls.Add(rb);
    ................
}

次に、そのページで、私は次のことを行っています。

$(document).ready(function () { alert($('input[name=group1]')); });

アラートはnullを示しています。理由がわかりません...クロームのコードを調べました。ラジオボタンがページにあります。

<p id="availableActions" class="download_options">
    <input id="rb_0" type="radio" name="group1" value="rb_0" checked="checked">
    .....

何か案は?

このコードは、prettyPhotojqueryプラグインによって生成されたiframe内にあることに注意してください。これが問題の原因なのかしら…。

前もって感謝します

4

3 に答える 3

0

create dynamicallyクライアント上で動的に作成する場合、それが何を意味するのかが明確で.onはありません。バインディングを実行するために使用する方が適切です。

$("availableActions").on("change","input[name=group1",function(){
    ///do what ever you wish
});
于 2012-10-22T13:10:20.923 に答える
0

あなたのコードは完全に正しいようです。ここでHTMLを共有するとよいでしょう。alertの代わりにconsole.logを使用して、firebugコンソールで要素が返されるかどうかを確認してください。

于 2012-10-22T13:02:28.430 に答える
0

誰かがこの問題を抱えている場合、解決策はjQueryを競合なしモードに変更することでした。

正常に動作していたため、競合の原因$(document).ready(function () { console.log('loaded'); });はわかりませんが、ページにコントロールが見つかりませんでした。

競合なしモードにjQuery.noConflict();変更するには、$をjQueryに追加して変更するだけです。

于 2012-10-25T09:36:19.137 に答える