无法在jsp中的jquery datepicker日历中突出显示来自Mysql的日期

时间:2014-10-18 08:18:10

标签: jquery jsp datepicker

我正在尝试显示jquery datepicker日历,其中包含存储在mysql中的高亮显示日期。 问题是当运行带有自定义日期的脚本时,其显示日历带有突出显示的日期。下面的代码是使用自定义日期运行的,

beforeShowDay: function(date) {

    var custom_dates = ["2014-10-31","2014-10-28","2014-10-27","2014-10-03","2014-10-29","2014-11-04"];

        var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();

       for (i = 0; i < custom_dates.length; i++) {

            if($.inArray(y + '-' + (m+1) + '-' + d,custom_dates) != -1) {

                return [true, 'css-for-DBdates', 'Planned date'];
            }
        }
        return [true];
    } 

但是当我使用数据库中的日期运行脚本时,其显示日历没有高亮显示日期。下面的代码正在运行数据库日期,

的index.jsp

<%
    ArrayList Datesinarray=new ArrayList();

    try
    {
    String class1=session.getAttribute("class").toString();
    String userid=session.getAttribute("user_id").toString();
    String subject=session.getAttribute("subject").toString();
    Class.forName("com.mysql.jdbc.Driver");
    Connection connection =DriverManager.getConnection("jdbc:mysql://localhost:3306/raptor1_5","root","");
    Statement st=connection.createStatement();
    ResultSet rs=st.executeQuery("select date from tblplanner where User_id='"+userid+"' and class='"+class1+"' and subject='"+subject+"'");
    while(rs.next())
    {
        char a='"';
        String c="'";

        String datefrdb = rs.getString("date");
        String bb=a+datefrdb+a;
        Datesinarray.add(bb);
        //System.out.println();
    }
System.out.println("array value is :"+Datesinarray);

%>

<script>

 $( "#datetextbox").datepicker({ 

beforeShowDay: function(date) {

           var DB_dates = [<%=Datesinarray%>];

            var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();

            for (i = 0; i < DB_dates.length; i++) {

                if($.inArray(y + '-' + (m+1) + '-' + d,DB_dates) != -1) {

                     return [true, 'css-for-DBdates', 'Planned date'];
                         }
                   }
                       return [true];
                    }
});

</script>

数组值的数据库打印日期为:[“2014-10-27”,“2014-10-28”,“2014-10-29”,“2014-10-30”,“ 2014-10-31“,”2014-11-03“]

有人告诉我哪里错了吗?

注意:当我打印custom_dates.length时,它显示6.但DB_dates.length显示为1.

1 个答案:

答案 0 :(得分:0)

我在脚本中做了一个小错误,我初始化了变量值 var DB_dates = [&lt;%= Datesinarray%&gt;] ;而不是 var DB_dates =&lt;%= Datesinarray%&gt ;;

现在工作正常。