2011-03-24 15 views
0

私はまだjQueryで新しく苦労しています。最後に、ボタンをクリックするとjQueryを表示/非表示に切り替えることができます。私がまだ苦労しているのは、表示/非表示をページの読み込み時にボタンの状態に合わせる方法です。値はPHPを使用してデータベースから来ています。だから私はそれが何であるか分からない。私は本当にいくつかの助けに感謝します!データベースからのラジオボタンの設定に基づいて表示/非表示を切り替えるphp/jQuery

基本的に、idが 'specify'のボタンがチェックされていると、divのテキストが表示されます。 「開く」ボタンがチェックされている場合、テキストは隠されています。私はcssを設定してdivの指定クラスを非表示にします。私はそれをしなければなりませんか?ここで

はコードです:

HTML

<input type="radio" name="volneed" id="open" class="required" value="open to all" 
<? if($thisvolneed=='open'){echo 'checked="checked"';} ?> /> 
<label for="open"> Open to all </label> 

<input type="radio" name="volneed" id="specify" class="required" value="specify" 
<? if($thisvolneed=='specify'){echo 'checked="checked"';} ?> /> 
<label for="specify"> Specify types of volunteers needed </label> 

<div class="specify"><p>Some info...</p></div> 

CSS:

.specify{display:none;} 

のjQuery:

$(document).ready(function() {   
    $("#specify").change(function(evt) { 
    evt.preventDefault(); 
    $(".specify").show(); 
    }); 

    $("#open").change(function(evt) { 
    evt.preventDefault(); 
    $(".specify").hide(); 
    }); 
}); 

答えて

1

<div>を非表示にするクラスを作成することは、問題に近づけるためのかなり標準的な方法です。よくやった! <div>showまたはhide機能を使用する代わりに、CSSアプローチを使用する場合はaddClassまたはremoveClassを使用するのと同じように簡単です。また、<div>の初期状態は、PHPを使用して必要に応じてページの読み込み時にクラスを適用することで表示できます。

<div <? if($thisvolneed=='specify'){echo 'class="specify"';} ?>><p>Some info...</p></div> 
+0

素晴らしいです!ちょうど私が聞く必要があったもの!私はすべてjQueryに巻き込まれ、PHPで何ができるのか考えなかった。ありがとうマイケル! – dac

+0

私はCSSでshow classとhideクラスを作成し、あなたが提案したのと同じように、値に基づいて適切なものを設定するためにphpを使いました。素晴らしい仕事を! – dac

+0

FYI次のスニペットは、jQueryを使用して同じ目標を実行します... $ {'指定'})$ {'指定する})addClass('指定 '); ..しかし、PHPを使ってクラスを適用することができます。 –

1

小さな試み:

<style> 
.specify{display:none;} 
</style> 
<script src="jquery.min.js"></script> 
<input type="radio" name="volneed" id="open" class="required myOption" value="open to all" checked="checked" /> 
<label for="open"> Open to all </label> 

<input type="radio" name="volneed" id="specify" class="required myOption" value="specify" /> 
<label for="specify"> Specify types of volunteers needed </label> 

<div class="specify"><p>Some info...</p></div> 
<script> 
    $(document).ready(function(){ 
     $('.myOption').click(function(){ 
      var $stat = $('#specify')[0].checked; 
      if($stat == true) 
       $('.specify').show(); 
      else 
       $('.specify').hide(); 
     }); 
    }); 
</script> 

メートル必ずそれが再び...あまりにも最適化することができ

+0

素晴らしい!これは私のサイトで別のショー/隠しについて質問していた質問に答えます。それは、チェックボックスを使用して非表示にして、再クリックすると非表示にすることができませんでした。ありがとうございました! – dac

関連する問題