2016-08-11 37 views
0

我所試圖做的是我使用的日期選擇器,並與一類.bookable和非預訂者一類的.non_bookable如下預訂天數:jQuery的 - 需要選擇下一個7元帶班

<tr> 
    <td class=" ui-datepicker-unselectable ui-state-disabled not_bookable" title="This date is unavailable"><span class="ui-state-default">7</span></td> 
    <td class=" ui-datepicker-unselectable ui-state-disabled not_bookable" title="This date is unavailable"><span class="ui-state-default">8</span></td> 
    <td class=" ui-datepicker-unselectable ui-state-disabled not_bookable" title="This date is unavailable"><span class="ui-state-default">9</span></td> 
    <td class=" ui-datepicker-unselectable ui-state-disabled not_bookable" title="This date is unavailable"><span class="ui-state-default">10</span></td> 
    <td class=" ui-datepicker-unselectable ui-state-disabled not_bookable" title="This date is unavailable"><span class="ui-state-default">11</span></td> 
    <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled not_bookable" title="This date is unavailable"><span class="ui-state-default">12</span></td> 
    <td class="ui-datepicker-week-end ui-datepicker-days-cell-over bookable" title="This date is available" data-handler="selectDay" data-event="click" data-month="10" data-year="2016"><a class="ui-state-default ui-state-active" href="#">13</a></td> 
</tr> 

我想要做的是選擇與。.bookable類之後的.non_bookable類的下一個7個元素。

我想只是爲了選擇下一個(之前我甚至嘗試下7!),但似乎沒有能夠做到這一點,我相信,因爲它是一個水平,在未來的標籤。我使用的代碼是:

<script type="text/javascript"> 

jQuery(document).ready(function() { 

    jQuery('tr .bookable').closest('tr .not_bookable').css('background','green'); 
}); 

我有充分的所有代碼在jsfiddle.net/jmkqza5f/2

在此先感謝您的幫助。

更新 - 正如你將用小提琴看到,這是應用樣式到以前的元素,而不是下一個元素。

+0

,找到?你知道那是什麼,對嗎?嘆... –

+0

所以通過「接下來的7個元素「是指接下來的7個td元素,而不管它們屬於哪個tr?你的小提琴沒有包含jQuery - 添加它產生了一些綠色單元的結果:https://jsfiddle.net/jmkqza5f/2/ – nnnnnn

+0

是的,我正在嘗試它,因爲我在Stack Overflow的另一篇文章中看到它 - 現在編輯代碼到我之前使用的代碼 – AppleTattooGuy

回答

0

這將工作。當前代碼的設置方式是尋找最近的表格行,在這種情況下,它是父元素。

jQuery(document).ready(function() { 

    jQuery('tr .bookable').parents('tr').next('tr').find('.not_bookable').css('background','green'); 
}); 
+0

@JamesLeist你應該修復它,所以它在實際網站上運行 。 –

+0

@KevinB - 正是我在做的:) – AppleTattooGuy

0

試試這個:

jQuery(document).ready(function() { 

     jQuery('tr .bookable').closest('tr').next().find('.not_bookable').css('background','green'); 
    }); 
0

你的問題是一個簡單的選擇器問題。我「要去提出替代解決方案,它可以幫助你更好,你最有可能產生使用jQuery日期選擇器方法beforeShowDate這些類。我建議顯示日期之前延長添加其他類。因此,而不是‘預訂’和「not_bookable」有一個額外的類「recent_booked」,然後你在之前添加這些類的同一個地方執行邏輯