JQuery函数来操作多个div

时间:2012-10-31 14:13:03

标签: php jquery

我正在用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>

3 个答案:

答案 0 :(得分:2)

尝试使用#bookweek

的点击事件处理程序
$("#bookweek").on("click", function () {
    $(this).parent().find(".free").trigger("click")
});

找到父div(星期),然后在类free的每个子元素上触发click事件。

答案 1 :(得分: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);
                });
            });
        })

答案 2 :(得分: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);

    });
});