2011-07-15 13 views
0

これは、前回選択されたラジオボタンの値を返します。なぜですか?返されるラジオボタンの値が間違っています。なぜですか?

<script> 

    $("#ptmodel label").click(function() { 

var selected = $("input[name=in_pt_model]:checked").val(); 
var selecteddataString = 'in_pt_model='+ selected; 
$.ajax({ 
    type: "POST", 
    url: "badkamer_sets.php", 
    data: selecteddataString, 
    success: function(selected){ 
      $("#ptsize_check").html(selected); 
    } 
}); 
}); 
</script> 
+1

ラジオボタンのHTMLも役立ちます。 –

+0

'HTML'がなければ、この質問はノー・ゴーです。 – Phil

答えて

4

#ptmodel labelは、input[name=in_pt_model]に関連付けられたラベルです。

ラベルのクリックイベント([name = in_pt_model]と入力してください))を使用する代わりに、入力[name = in_pt_model] "の変更イベントを処理します)。

これを試してみてください:

<script> 
    $("#ptmodel input[name=in_pt_model]").change(function() { 
    var selected = $(this).val(); 
    var selecteddataString = 'in_pt_model='+ selected; 
    $.ajax({ 
      type: "POST", 
      url: "badkamer_sets.php", 
      data: selecteddataString, 
      success: function(selected){ 
            $("#ptsize_check").html(selected); 
      } 
     }); 
    }); 
</script> 
+0

ここでの根底にある問題は、DOMがclickイベントを処理する前にラジオボタンに接続しているjquery onclickイベントが発生していることです。つまり、ラジオボタンが実際にクリックされていないことを意味します。 val()はまだ古い値を報告します。イベントをクリックから変更すると、これを修正する必要があります。 – jbabey

+0

THANX:D、私は知っていたはずです;)。 – Kurdt94

0

私の腸は、ここに根本的な問題は、DOMは、ラジオボタンを意味し、クリックイベントを処理する前に、ラジオボタンに添付されているのjQueryのonclickイベントが発射されていることであることを私に伝えます実際にクリックされていないので、.val()をチェックすると古い値が報告されます。イベントをクリックから変更すると、これを修正する必要があります。 -

関連する問題