1

私はPHPとMySQLで予約システムを作成しています。ユーザーが特定のタイムスロットを予約する方法は、以下に示すように、JQuery関数を操作するDivをクリックすることです。

$(document).ready(function(){
                $('.free').click(function(){
                    $(this).html("<div class='title'><img src='images/loader.gif' alt='image' width='30' /></div>").load('book.php?desk_id=<?php echo $desk_id;?>&booking_id='+this.id);
                });
                $('#bookweek').click(function(){
                    $('.free').html("<div class='title'><img src='images/loader.gif' alt='image' width='30' /></div>").load('book.php?desk_id=<?php echo $desk_id;?>&booking_id='+this.id);
                });
            })

私がやろうとしているのは、その後半を、1週間の仕事を予約する場所に置くことです。部分的には機能しますが、少し調べてみると、URLでDivのIDが渡されていないことがわかります。したがって、明らかに、正しい変数がbook.phpに渡されていないため、機能していません。

クラス'free'のDivはたくさんありますが、それぞれに独自のIDがあります。URLで個々のIDを渡す方法についてのヘルプをいただければ幸いです。

大変感謝します、

スティーブ

編集:

カレンダーは、次のコードを使用して生成されます。

<div id="bookweek" style="cursor:pointer"><h1>Book Entire Week</h1></div>
<div class="block">
    <div class="title">Times</div>
    <?php
$days = 0;
while($days < 7) {
    $day  = mktime(0, 0, 0, date("m"),   date("d") + $days,   date("Y"));
    $days++;
    echo '<div class="title">'.date("D d/m/y", $day).'</div>
    ';
}
?>
</div>
<?php
$hours = 0;
$counter = 0;
while($hours < count($bookingTimes)) {
    $name = $bookingTimes[$hours];
    $hours++;
    echo '<div class="block">
<div class="title">'.$name.'</div>
';
$i=0;
$counter++;
$days = 0;
while($i < 7) {
    $day  = mktime(0, 0, 0, date("m"),   date("d") + $days,   date("Y"));
    $days++;
    $i++;
    $id = $counter + $day;
    echo '<div class="free" id="'.$id.'">'.checkBooked($id,$desk_id).'</div>
    ';
    }
    echo '</div>';
}
?>
</div>
4

3 に答える 3

2

のクリックイベントハンドラーにこれを試してください#bookweek

$("#bookweek").on("click", function () {
    $(this).parent().find(".free").trigger("click")
});

親のdiv(週)を見つけて、クラスを持つ子要素のそれぞれでクリックイベントをトリガーしますfree

于 2012-10-31T15:00:34.433 に答える
1

以下をお試しください。それはあなたの問題を解決するはずです。

$(document).ready(function(){
            $('.free').click(function(){
                $(this).html("<div class='title'><img src='images/loader.gif' alt='image' width='30' /></div>").load('book.php?desk_id=<?php echo $desk_id;?>&booking_id='+this.id);
            });
            $('#bookweek').click(function(){
                $(this).find('.free').each(function () {
                       $(this).html("<div class='title'><img src='images/loader.gif' alt='image' width='30' /></div>").load('book.php?desk_id=<?php echo $desk_id;?>&booking_id='+this.id);
                });
            });
        })
于 2012-10-31T14:35:16.473 に答える
0
$('#bookweek').click(function() {
    $('.free').each(function() {
        var $id = $(this).attr('id');
        $(this).html("<div class='title'><img src='images/loader.gif' alt='image' width='30' /></div>")
                .load('book.php?desk_id=<?php echo $desk_id;?>&booking_id=' + $id);

    });
});
于 2012-10-31T15:03:20.890 に答える