現在、Codeigniterフレームワークを使用したカレンダーシステムを開発中です。私は、カレンダーテンプレートの1日のセルがクリックされるたびにdivが表示されるようにします。.show()と.hide()コマンドが正しく動作しない
div要素は、ループのためのPHPによって作成され、次のビューファイルのデータベースから取り込まれる。
calendar_view.php
<div class="cal_container">
<?php echo $calendar; ?>
<div class="day_expanded_container">
<?php for ($i = 1; $i<=31; $i++):?>
<div class="day_expanded" id"<?php echo 'd'.$i;?>">
<?php if (isset($calendar_info[$i])):?>
<h2><?php echo $calendar_info[$i]['title'];?></h2>
<p><?php echo $calendar_info[$i]['text']?></p>
<?php else: ?>
<h2>No Data for this Date</h2>
<p>There is currently nothing planned for this Calendar date.</p>
<?php endif; ?>
</div>
<?php endfor;?>
</div>
</div>
以下のjQueryは、次に適用さ
:
スクリプト.js
$(document).ready(function(){
var divs = $('div.day_expanded_container > div').get();
var today = $(".today").attr("id");
$(divs).hide().filter('#d' + today).show();
$(".day").click(function() {
var selected = $(this).attr("id");
$(divs).hide().filter('#d' + selected).show();
});
});
ただし、ページの読み込み時にdivがすべて非表示になり、クリックがまったく表示されません。
すべてのidの等が正しいですし、私はcssでそれをオーバーライドするものを見つけることができません。私が間違っていることが明らかに明白なことはありますか?
おかげで非常に多くの
のコード例は、PHPのコードよりも多くの助けになるでしょうでなければなりません。 –
'$("。day ").Click(...)'がありますが、 '.day'クラスの要素はありません。 –
なぜ '.get()'を使うのかわからないので、配列をjQueryファクトリに渡してください。また、あなたのJSを通じて読んでいるところから、あなたのカレンダーのどこかに 'id =" 1 "'のようなIDを作成しています。 http://www.w3.org/TR/html4/types.html#h-6.2に記載されているIDは無効なIDなので、問題が発生する可能性があります。 – JAAulde