0

ラジオボタンのリストを作成しようとしていますが、ユーザーがそのいずれかをクリックすると、 Alert("Warning message") が必要になります。

静的ラジオボタンを作成しました。これをクリックすると、Alert() ボックスが表示されます。しかし、動的に作成されたラジオ ボタンをクリックすると、Alert() は表示されません。

これが静的ラジオボタンです。これにより、Alert() がトリガーされます。

<input type="radio" class="radio_profile" name="radio_profile" id="radio_profile_not_found" value="0">

これは webmethod で作成されたものです。これは Alert() をトリガーしません

 rtn_str = "<input type='radio' class='radio_profile' name='radio_profile' id='radio_profile_" + dr["ProfessionalID"].ToString() + "' value='" + dr["ProfessionalID"].ToString() + "' >"

ここにJqueryコードがあります

$("input[name='radio_profile']").change(function () {
     alert('Warning Message');
});

動的に作成されたラジオボタンを修正して Alert() ボックスをトリガーするのを手伝ってくれませんか

4

4 に答える 4

4

関数でイベント委任を使用する必要があります。.on()

$(document).on('change', 'input[name="radio_profile"]', function(e) {
    alert('Warning Message');
});

理想的には、 ではなく、動的に追加されたすべてのラジオ ボタンを含む静的 (ページの読み込み時に存在する) 要素を選択した後にdocument呼び出します。.on()静的要素がそれらに近いほど良いです。ただし、ページの HTML を見ないと、どの要素であるべきかを判断するのは困難です。

于 2013-03-05T14:24:26.353 に答える
0

関数のchange()実行時に、イベントはセレクターに一致するすべての要素にバインドされます。それは新しい要素について知りません。イベントハンドラーを再度バインドするには、関数を実行する必要があります。または、を使用する必要がありますon('change', function(){

JQueryのドキュメントで詳細が説明されています:http://api.jquery.com/on/

于 2013-03-05T14:24:03.133 に答える
0
$(document).on("change",'input[name="radio_profile"]',function(){
 alert('Warning Message');
});
于 2013-03-05T14:24:31.533 に答える
0

asp.net では、プロパティ ClientIDMode="Static" をラジオボタン コントロールに貼り付けることができます。このようにして、ページで指定されたコントロール ID を使用できます。コントロール ID に基づいてイベント処理を行うこともできます。

于 2013-03-05T14:28:42.233 に答える