2011-11-13 5 views
0

ラジオボタンが選択されているときにjqueryの助けを借りて何かを実行したいと思います。ラジオボタンを選択するときに何かする

はjqueryのを開始同じJS関数(jsForAjaxCall(引数)を仮定)呼び出しにonSelect

各...ページがそうでラジオボタングループ

<input type="radio" name="group1" value="1" onSelect="jquery ajax" /><br> 
<input type="radio" name="group1" value="2" onSelect="jquery ajax" /><br> 


<input type="radio" name="group2" value="1" onSelect="jquery ajax"/><br> 
<input type="radio" name="group2" value="2" onSelect="jquery ajax" /><br> 

とのn個を有していると仮定しますajax呼び出し。

ラジオボタンが選択または選択解除されると、jquery ajaxコールが必要になります。私は選択のためにそれを示した。

1)ラジオボタンの選択を解除するようなjavascript呼び出しを行う方法は何ですか?それは未選択ですか?はいの場合、それはすべてのブラウザと互換性がありますか?私は答えを見つけられませんでした。

2)ユーザーがラジオボタン(グループから1つボタン)を1つ選択し、対応するajax呼び出しが行われたとします。

しかし、私はajax呼び出しを次々と完了させたいと思います。 Ajaxコール1が完了し、コール2が開始し、コール2が完了し、コール3が開始されます。

しかし、これはajaxの非同期性 のために説明した状況では発生しない可能性があります。

したがって、前のjquery ajax呼び出しのコールバック関数に後続の呼び出しを残す必要があります。

私は目標をどのように達成することができますか?

私のスクリプト言語は、PHPにある

EDIT:

は、ユーザが次々に(グループから1つのボタン)をn個のラジオボタンをクリックするとします。各ボタンを選択するたびに、2次元セッション配列に選択されたラジオボタンの値を保持させるように同期ajax呼び出しが行われるため、ページをリフレッシュした後にこれらの値を使用してラジオボタンの選択を保持できます。その場合、最初に書き込まれたhtmlラジオボタンコードを変更する必要があります。

私の質問は:

ユーザーがクリックすると、n個のボタン(すなわちN = 10)、その後、S /彼はページを更新を終了します。 5つの同期ajax呼び出しが行われ、残りのrはまだ作成されません。その後、ページをリフレッシュした後、最後の5つのラジオボタンの選択値が保持されますか?そのような状況にそれらを保持する方法ではない場合。

+1

1)あなたはradiobutton.checked = falseを呼び出すことができます。 2)http://stackoverflow.com/questions/133310/how-can-i-get-jquery-to-perform-a-synchronous-rather-than-asynchronous-ajax-re – Matt

+0

3)あなたは、クエリのAJAXコールを設定することができます同期などしたり、Ajaxのキュー –

+0

@Dennis Huninkためのこのフォーラムを検索し、 –

答えて

0
$(function(){ 
    $("input[name*='group1']").click(function(){ 
     alert("Clicked"); 
    }); 

}); 

これを試してください。ヘッドセクションでjqueryファイルを呼び出すことを忘れないでください。

+0

私は私の質問1と2にウル回答で答えが –

+0

あなたはそれが動作を変更しない限り、あなたはラジオボタンの選択を解除することができますどのようにU –

+0

を参照してくださいplzの説明が表示されませんJavaScriptを使用して –

0

nyferの答えに、あなたは$アヤックスの成功・コールバックでのAjax呼び出しをチェーンできビル:

$("input[name*='group1']").click(function(){ 
    $.ajax({ 

    success: function(){ 
     $.ajax({ 
      success:function(){ 
       $.ajax({}); 
      } 
     }); 
    } 
    }); 
}); 

それは一種の汚いコードだので、私はおそらくに成功 - コールバックを置くところ上に表示されているような匿名関数とは対照的に、名前付き関数です。ここで、ボタンで1つのAjax呼び出しをクリックして質問にヒントを付ける場合は、ajax呼び出しをエンキューおよびデキューするキューを実装します。エンキュークリックイベント内のアイテム、およびすべてのAJAX呼び出しを処理するために、左の項目があるかどうかを確認するための成功・コールバックでキューを再訪。

+0

私にお試しください。私の質問番号1の答えは何ですか? –

+0

私の編集をご覧ください。新しい状況があなたから聞くのを待って –

+0

ポップアップ –

関連する問題