如何使用Javascript关注日历上的特定日期

时间:2013-11-12 12:56:44

标签: javascript html arrays calendar html-table

我最近使用html和CSS创建了自己的日历,现在我希望日历可以从下拉列表中选择日期和月份,因此当我选择日期时,它将关注日期并更改其颜色

我已经使用Javascript进行了一些编码,但问题是Javascript需要多行,有人知道更简单的方法吗?

JS代码:

        function selectDay() {
            var day = document.getElementById("day");
            var month = document.getElementById("month");
             var type = document.getElementById("type");
            var selectedValueday = day.options[day.selectedIndex].value;
            var selectedValuemonth = month.options[month.selectedIndex].value;
            var selectedValuetype = type.options[type.selectedIndex].value;


            if ((selectedValueday === "01") && (selectedValuemonth === "01") && (selectedValuetype === "01")) {
                document.getElementById('jan1').style.backgroundColor = 'purple';
            } else if((selectedValueday === "01") && (selectedValuemonth === "01") && (selectedValuetype === "02")){
                document.getElementById('jan1').style.backgroundColor = 'yellow';
            }else{
                document.getElementById('jan1').style.backgroundColor = 'white';
            }
          if ((selectedValueday === "02") && (selectedValuemonth === "01") && (selectedValuetype === "01")) {
                document.getElementById('jan2').style.backgroundColor = 'purple';
            } else if((selectedValueday === "02") && (selectedValuemonth === "01") && (selectedValuetype === "02")){
                document.getElementById('jan2').style.backgroundColor = 'yellow';
            }else{
                document.getElementById('jan2').style.backgroundColor = 'white';
            }
        }

HTML代码:

<select id="day">
        <option>Kies een dag</option>
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select>
    <select id="month">
        <option>Kies een maand</option>
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
    </select>
    <select id="type">
        <option>Kies een type</option>
        <option value="01">Feestdag</option>
        <option value="02">Verjaardag</option>
    </select>

    <button onclick="selectDay();">Zoek</button>

        <h1 align='center'>Jaarkalender 2013</h1>
        <table align='center' width = '1600'  border = '0'>
            <tr>
                <td ALIGN="center"><B>Januari</B>
                    <table  height = '175' border = '0'>
                        <tr>
                            <TD bgcolor='B9B1B1'><b><b>Maandag</b></b><FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Dinsdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>        
                            <TD bgcolor='B9B1B1'><b>Woensdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Donderdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Vrijdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zaterdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zondag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                        </tr>
                        <TR>
                            <TD><font color="#888888">30</font></TD>
                            <TD id="jan1" title = 'Nieuwjaar'><font color = '#FF0000'><B>1</B></TD>
                            <TD id="jan2">2</TD>
                            <TD>3</TD>
                            <TD>4</TD>
                            <TD bgcolor='#00FFFF'>5</TD>
                            <TD bgcolor='#00FFFF'>6</TD>
                        </TR>
                        <TR>
                            <TD>7</TD>
                            <TD>8</TD>
                            <TD>9</TD>
                            <TD>10</TD>
                            <TD>11</TD>
                            <TD bgcolor='#00FFFF'>12</TD>
                            <TD bgcolor='#00FFFF'>13</TD>
                        </TR>
                        <TR>
                            <TD>14</TD>
                            <TD>15</TD>
                            <TD>16</TD>
                            <TD>17</TD>
                            <TD>18</TD>
                            <TD bgcolor='#00FFFF'>19</TD>
                            <TD bgcolor='#00FFFF'>20</TD>
                        </TR>
                        <TR>
                            <TD>21</TD>
                            <TD>22</TD>
                            <TD>23</TD>
                            <TD>24</TD>
                            <TD>25</TD>
                            <TD bgcolor='#00FFFF'>26</TD>
                            <TD bgcolor='#00FFFF'>27</TD>
                        </TR>
                        <TR>
                            <TD>28</TD>
                            <TD>29</TD>
                            <TD>30</TD>
                            <TD>31</TD>
                            <TD><font color="#888888">1</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">2</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">3</font></TD>
                        </TR>
                        <TR>
                            <TD></TD>
                            <TD></TD>
                            <TD></TD>
                            <TD></TD>
                            <TD></TD>
                            <TD  bgcolor='#00FFFF'></TD>
                            <TD  bgcolor='#00FFFF'></TD>
                        </TR>
                    </table>
                </TD>

                <td ALIGN="center"><B>Februari</B>
                    <table border = '0' height = '175'>
                        <tr>
                            <TD bgcolor='B9B1B1'><b><b>Maandag</b></b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Dinsdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>        
                            <TD bgcolor='B9B1B1'><b>Woensdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Donderdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Vrijdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zaterdag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                            <TD bgcolor='B9B1B1'><b>Zondag</b> <FONT COLOR="B9B1B1">.</FONT></TD>
                        </tr>
                        <TR>
                            <TD><font color="#888888">28</font></TD>
                            <TD><font color="#888888">29</font></TD>
                            <TD><font color="#888888">30</font></TD>
                            <TD><font color="#888888">31</font></TD>
                            <TD>1</TD>
                            <TD bgcolor='#00FFFF'>2</TD>
                            <TD bgcolor='#00FFFF'>3</TD>
                        </TR>
                        <TR>
                            <TD>4</TD>
                            <TD>5</TD>
                            <TD>6</TD>
                            <TD>7</TD>
                            <TD>8</TD>
                            <TD bgcolor='#00FFFF'>9</TD>
                            <TD bgcolor='#00FFFF'>10</TD>
                        </TR>
                        <TR>
                            <TD>11</TD>
                            <TD>12</TD>
                            <TD>13</TD>
                            <TD>14</TD>
                            <TD>15</TD>
                            <TD bgcolor='#00FFFF'>16</TD>
                            <TD bgcolor='#00FFFF'>17</TD>
                        </TR>
                        <TR>
                            <TD>18</TD>
                            <TD>19</TD>
                            <TD>20</TD>
                            <TD>21</TD>
                            <TD>22</TD>
                            <TD bgcolor='#00FFFF'>23</TD>
                            <TD bgcolor='#00FFFF'>24</TD>
                        </TR>
                        <TR>
                            <TD>25</TD>
                            <TD>26</TD>
                            <TD>27</TD>
                            <TD>28</TD>
                            <TD><font color="#888888">1</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">2</font></TD>
                            <TD bgcolor='#00FFFF'><font color="#888888">3</font></TD>
                        </TR>
                    </table>
                </TD>  
        </table>

CSS代码:

        table{

            left: -200px;
            border-collapse:collapse;
            border:1px solid black;
        }

1 个答案:

答案 0 :(得分:0)

给每个表格单元格(仅代表日期的单元格)一个单独的ID - 它们不能以数字开头,所以我建议使用m然后是月份数d然后是日期数 - 例如id ='m2d5'表示第5个二月。

然后,您可以使用每个SELECT元素的值来创建id并使用:

 var dayid = "m"+month.value+"d"+day.value;
 document.getElementById('dayid').className = 'lit'

如果您只想突出显示一个单元格,则必须跟踪上次点亮的单元格的ID或使用类似

的内容
var reset = document.getElementsByClassName("lit");
while (reset.length) { reset[0].className = "normal"; }

查找并重置任何点亮的..