0

これらの2つのラジオボタンがあります。私がしたいので、ユーザーがボタンを選択するたびに、jQuery はdivそのボタンのコンテンツを含む を表示する必要があります。例には#paypaldiv呼び出され#mydivpaypalたと呼び出された があります。#payzadiv#mydivpayza

ユーザーがクリックするたびに、表示し#paypalたいだけ#mydivpaypalです。と一緒#payzaです。

HTML:

<ul class="payment-methods" id="pmethods" style="margin-left:320px;">
  <li class="payment-method paypal">
    <input name="payment_methods" type="radio" id="paypal">
    <label for="paypal">PayPal</label>
  </li> 
  <li class="payment-method payza">
    <input name="payment_methods" type="radio" id="pagseguro">
    <label for="pagseguro">PagSeguro</label>
  </li>
</ul>

jQuery:

var boxes = $('input:checked');
$(boxes).each(function() {
   if($('#paypal').is(':checked')) { 
    $("#mydivpaypal").show();
    }
   if($('#payza').is(':checked')) { 
    $("#mydivpaypal").hide();
       $("#mydivpayza").show();
    }
});

私はこれを機能させることができません。ラジオボタンをチェックしても何も起こりません。

4

4 に答える 4

0

すべてを変更イベントの下に配置する必要があります...種類:

$('input[name=payment_methods]').change(function(){
    if($('#paypal').is(':checked')) { 
        $("#mydivpaypal").show();
    }
    if($('#payza').is(':checked')) { 
        $("#mydivpaypal").hide();
        $("#mydivpayza").show();
    }
})

これは、ホットでうまく短時間で行うためのより良いアイデアです... on Fiddle

   $('.payment-method input').change(function(){
        $('#'+this.id+'_div').show().siblings().hide()
    })

http://jsfiddle.net/acrashik/Nt7nS/

于 2013-09-30T08:00:16.310 に答える
0

現在のコードでは、ラジオ ボタンがクリックされるのを待っているイベント リスナーはありません。コードは、ページが読み込まれたときにのみ実行されます。クリックされたときにラジオボタンをチェックするイベントリスナーを追加するだけです

例: http://jsfiddle.net/adambotley/2h8vW/

$(document).ready(function(){

    var boxes = $('input:checked');
    $(boxes).click( function(){ 
        $(boxes).each(function() {
           if($('#paypal').is(':checked')) { 
            $("#mydivpaypal").show();
            }
           if($('#payza').is(':checked')) { 
            $("#mydivpaypal").hide();
               $("#mydivpayza").show();
            }
        });
});

.click() リスナーを追加することで、いずれかのラジオがクリックされるたびに :checked 状態をチェックします

于 2013-09-30T08:01:24.547 に答える