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);
                });
            })

我想要做的是让它的后半部分可以预订整个星期的工作。它部分有效,但做一些调查表明它没有在 URL 中传递 Div 的 ID,所以显然它没有将正确的变量传递给 book.php,这使它不起作用。

有许多具有“免费”类的 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 (周),然后在每个具有 class 的子元素上触发点击事件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 回答