0

Twitter Bootstrap のボタン グループを使用して、さまざまなコンテンツを切り替えています。例はhttp://jsfiddle.net/g8KSf/で見ることができます

基本的に「Games」をクリックすると、games_container div が表示され、他の div は非表示になります。私はそれがうまく機能しています。

投稿タイプを投稿、ゲーム、ビデオなどとしてデータベースに保存し、クリックするだけでなく、ページの読み込み時に関連する div を開くことができるようにしたいと考えています。現在、ページが読み込まれると、post_container がデフォルトで表示されます。

PHP 変数がある$post_type = 'game';とします。ページの読み込み時に game_container を表示させながら、クリックして切り替えるにはどうすればよいですか?

これは私がこれまで持っているjsです:

$('.container').hide();
$('#post_container').show();

$('.post_types button').click(function(){
        var target = "#" + $(this).data("target");
        $(".container").not(target).hide();
        $(target).show();
        $('#post_type').val($(this).text());
});​
4

4 に答える 4

2

ロード中のゲーム コンテナを表示するには、この行を置き換える必要があります

$('#post_container').show();

$('#game_container').show();

ライブデモを参照

また、現在使用している

$('#post_type').val($(this).text());

thisここでは、この行$(this).text()に使用するのではなく、以下のようにtarget変数を使用します

$('#post_type').val($(target).text());

アップデート:

ページの読み込み時に動的に表示するには、

  1. post_type の値を変数に格納する

    var ptype = ...STORE THE POST TYPE VALUE...;

  2. この行に値を渡します

    $('#'+ptype+'_container').show();
    また
    $('#'+$post_type+'_container').show();

ライブデモ 2を参照

于 2012-08-03T15:45:34.613 に答える
0

$('#post_container').show();に変更$('#game_container').show();

どうぞhttp://jsfiddle.net/g8KSf/5/

phpここでの動的なため、私はあまり詳しくありません:

function(){ $.ajax({ 
       type:"GET", 
       url:"file.php", 
       data:id, 
       success:function(container){ 
           $('#'+container).show();
       }, 
       // ... more ...
    }
于 2012-08-03T15:46:04.620 に答える
0

show()好きなセレクターを使用して、ページの読み込み時に実行するだけです。

$(function() {
    $('#<?=$post_type?>_container').show();
});

<?=?>エコーの短いPHP、.jsファイルでは使用できません。私が指摘した方法がうまくいかない場合は、グローバル変数を好きなセレクターに設定し、インライン PHP の代わりにそれを使用する必要があります。

于 2012-08-03T15:46:56.790 に答える
0

次のいずれかを実行できます。

  • JavaScript コードで2 行目#post_containerを直接変更します#game_container
  • または後で呼び出します$('#btn-game').click();。たとえば、のonload属性bodyまたは別のscriptタグで呼び出します。
于 2012-08-03T15:48:26.067 に答える