web-dev-qa-db-ja.com

ラジオボタンが選択されたときにdivを表示

私はJavaScriptとjQueryの初心者です。私のhtmlには2つのラジオボタンと1つのdivがあります。最初のラジオボタンをチェックするとそのdivを表示したいが、それ以外は非表示にしたい

so:ラジオボタン#watch-meがチェックされている場合-> div#show-meが表示されます。ラジオボタン#watch-meがオフになっている場合(チェックされていないか、2番目のチェックボックスがオンになっている場合)-> div#show-meは非表示になります。

ここに私がこれまでに持っているものがあります。

 <form id='form-id'>
<input id='watch-me' name='test' type='radio' /> Show Div<br />
<input name='test' type='radio' /><br />
<input name='test' type='radio' />
 </form>
 <div id='show-me' style='display:none'>Hello</div>

およびJS:

 $(document).ready(function () { 
$("#watch-me").click(function() {
 $("#show-me:hidden").show('slow');
 });
 $("#watch-me").click(function(){
 if($('watch-me').prop('checked')===false) {
    $('#show-me').hide();}
    });
});

それを達成するためにスクリプトをどのように変更する必要がありますか?

21
user2886091

次のように処理します。

$(document).ready(function() {
   $('input[type="radio"]').click(function() {
       if($(this).attr('id') == 'watch-me') {
            $('#show-me').show();           
       }

       else {
            $('#show-me').hide();   
       }
   });
});
41
Eric J.

入力要素には値属性が必要です。それらを追加してこれを使用します:

$("input[name='test']").click(function () {
    $('#show-me').css('display', ($(this).val() === 'a') ? 'block':'none');
});

jsFiddleの例

8
j08691
$('input[name=test]').click(function () {
    if (this.id == "watch-me") {
        $("#show-me").show('slow');
    } else {
        $("#show-me").hide('slow');
    }
});

http://jsfiddle.net/2SsAk/2/

5
Krishna
 $('input[type="radio"]').change(function(){
      if($("input[name='group']:checked")){
      $(div).show();
    }
  });
0
user2170505