无法过滤jQuery单击关闭类定义

时间:2012-03-04 21:09:15

标签: javascript jquery html

我有一个表设置......这是相关的HTML格式......

<table class="booking table">
   <tbody class="time_period_rows">
      <tr class>
        <td> ... </td>
      </tr>
      <tr class="booked">
        <td> ... </td>
      </tr>
       .
       .
      <tr class="selected">
        <td> ... </td>
      </tr>

桌子从那里开始。从根本上说,我有预约位置表。 “预订”类就是这个意思。当选择新预订时,“选定”课程将打开和关闭。我只想在尝试选择“预订”类所在的位置时停止识别点击。这是我当前的jQuery代码,

$('.time_period_rows tr:not(.booked)').click(function(){
    $('.selected').removeClass('selected');
    $(this).toggleClass('selected');
});

非常简单。但过滤不起作用。现在我可以选择任何一行。谁能明白为什么?

非常感谢

2 个答案:

答案 0 :(得分:0)

您需要取消绑定点击,因为<tr>已添加了类booked

$(this).unbind('click');

答案 1 :(得分:0)

$('.time_period_rows tr').on('click', function(){
    if (!$(this).is('.booked')) {
        $('.selected').removeClass('selected');
        $(this).toggleClass('selected');
    }
});