簡體   English   中英

如何根據某些條件使用jQuery動態將信息放在表上?

[英]How to put information dynamically on tables using jQuery based on certain criteria?

讓我們想象一下,我必須使用PHP創建具有以下結構的表。 NamedayHour標識的每個單元格都只是一個指示器(每天的Mon0,Mon1,依此類推)。 我應該在該單元格上放置信息,這在每天和每個小時都是不同的。

整個結構是這樣的:

<table border="1" >
<th>Hour</th>
<th>Mon 25-06-2012</th>
<th>Tue 26-06-2012</th>
<th>Wed 27-06-2012</th>
<th>Thu 28-06-2012</th>
<th>Fri 29-06-2012</th>
<tr><td>8:00</td><td>Mon0</td><td>Tue0</td><td>Wed0</td><td>Thu0</td><td>Fri0</tr>
<tr><td>8:20</td><td>Mon1</td><td>Tue1</td><td>Wed1</td><td>Thu1</td><td>Fri1</tr>
<tr><td>8:40</td><td>Mon2</td><td>Tue2</td><td>Wed2</td><td>Thu2</td><td>Fri2</tr>
<tr><td>9:00</td><td>Mon3</td><td>Tue3</td><td>Wed3</td><td>Thu3</td><td>Fri3</tr>
<tr><td>9:20</td><td>Mon4</td><td>Tue4</td><td>Wed4</td><td>Thu4</td><td>Fri4</tr>
<tr><td>9:40</td><td>Mon5</td><td>Tue5</td><td>Wed5</td><td>Thu5</td><td>Fri5</tr>
</table>    

所以,我有數組:

$hoursMonday = array("8:00", "8:20", "8:40")
$hoursMondayAssigned = array("8:00", "8:20")
$hoursMondayAvailable = array("8:40")

從星期一到星期五,我每天都有這3個數組。

然后,我需要將每天的小時數寫在表中。 例如,在這種情況下,我需要將星期一和小時的單元格放在:8:40的文本“ Available”,對於“ 8:00”和“ 8:20”,我應該在星期一的欄上輸入小時,系統應為他們兩個都設置“忙碌”。

使用示例數組的結果表應類似於下表:

<table border="1" >
<th>Hour</th>
<th>Mon 25-06-2012</th>
<th>Tue 26-06-2012</th>
<th>Wed 27-06-2012</th>
<th>Thu 28-06-2012</th>
<th>Fri 29-06-2012</th>
<tr><td>8:00</td><td>BUSY</td><td>Tue0</td><td>Wed0</td><td>Thu0</td><td>Fri0</tr>
<tr><td>8:20</td><td>BUSY</td><td>Tue1</td><td>Wed1</td><td>Thu1</td><td>Fri1</tr>
<tr><td>8:40</td><td>AVAILABLE</td><td>Tue2</td><td>Wed2</td><td>Thu2</td><td>Fri2</tr>
<tr><td>9:00</td><td>Mon3</td><td>Tue3</td><td>Wed3</td><td>Thu3</td><td>Fri3</tr>
<tr><td>9:20</td><td>Mon4</td><td>Tue4</td><td>Wed4</td><td>Thu4</td><td>Fri4</tr>
<tr><td>9:40</td><td>Mon5</td><td>Tue5</td><td>Wed5</td><td>Thu5</td><td>Fri5</tr>
</table>
</html>

我想使用jQuery或僅使用PHP來解決此問題。

要注意的事情之一是頻率參數(在本例中為10分鍾)可能會有所不同。 例如,如果將頻率設置為30分鍾,則時間將為:8:00、8:30、9:00、9:30,依此類推。

我真的不知道如何使用jQuery解決此問題。 我知道如何使用for循環編寫表,但是當我需要根據日期和時間將信息放置在正確的單元格上時,復雜性正在提高。

謝謝。

您可以在PHP中執行以下操作,以了解每小時是否已分配或免費分配:

$hoursMonday = array("8:00", "8:20", "8:40");
$hoursMondayAssigned = array("8:00", "8:20");
$hoursMondayAvailable = array("8:40");

foreach( $hoursMonday AS $hour ) {
    if( in_array( $hour, $hoursMondayAssigned ) ) {
        echo 'Busy at ' . $hour;
    } else if ( in_array( $hour, $hoursMondayAvailable ) ) {
        echo 'Free at ' . $hour;
    }
}

為了自動遍歷整天,我建議每天使用遞歸數組,例如:

$monday = array(
    'free' => array(
        '08:40', '09:00'
    ),

    'busy' => array(
        '08:40',
    ),

    'free' => array(
        '09:00',
    ),
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM