1

我正在使用 jquery datepicker,但是当日历弹出窗口显示时,月份和年份文本在日历标题栏的最右侧是一团糟。

我玩了一下css,但坦率地说,我没有太多时间玩它。

任何帮助将不胜感激。

我会发布问题的图片,但在我获得 10 点声望(?)点之前,我不会允许我这样做。

的HTML:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>ADC Visitor Log</title>
        <link href="http://code.jquery.com/ui/1.8.16/themes/redmond/jquery-ui.css" rel="stylesheet">
        <!--link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /-->
        <style type="text/css">
            textarea{
                font: bold;
            }
        @media print {
            @page         { zoom: 93% }
        }
        div.footer { position: relative; }
        div > span { position: absolute; right: 0; bottom: 0; }
        .ui-datepicker {  
            width: 216px;  
            height: auto;  
            margin: 5px auto 0;  
            text-align: left;
            font: 9pt Arial, sans-serif;  
            -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);  
            -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);  
            box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);  
        }
        .ui-datepicker-title {  
text-align: center;  
}
   </style>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.8.16/jquery-ui.min.js"></script>
    <!--script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script-->
    <script>
        $(function() {
            $( "#datepicker" ).datepicker();
        });

        function formSubmit(val){
            var dp = document.getElementById("datepicker").value;
            var fp = document.getElementById("floor").value;
            var op = document.getElementById("officer").value;
            if(!dp.length==0){
                if(!fp.length==0){
                    if(!op.length==0){
                        //alert("still made it thru");
                        document.getElementById("frm1").action = "VL2";
                        document.getElementById("frm1").method = "POST";
                        document.getElementById("frm1").submit();

                    }
                }
            }
        }
    </script>
</head>
<body>
    <h1 align="center">VISITOR LOG</h1>
    <br>
    <br>
    <div align="center">
        <h3>Please set visitor log data:</h3>
        <br>
        <br>
        <form id="frm1" action="VL2" method="POST">
            <div style="background-color: gray">
                <table>
                    <tr style="width: 100%">
                        <td width="33%" align="center">
                            <label>Floor: &nbsp;&nbsp;
                                <select style="vertical-align: center;" name="floor" id="floor">
                                    <option>Select Floor</option>
                                    <option value="2nd">2nd</option>
                                    <option value="4th">4th</option>
                                    <option value="6th">6th</option>
                                </select>
                                </div>
                        </td>
                        <td><input type="hidden" name="type" value="initial" size="0" /></td>
                        <td width="33%" align="center">
                            Date: &nbsp;&nbsp;<input type="text" 
                                                     name="datepicker" id="datepicker" 
                                                     style="background-color: #f5ffff; border: none;"/>
                        </td>
                        <td width="33%" align="center">
                            <label>Officer: &nbsp;&nbsp;
                                <input name="officer" id="officer" size="40"
                                       style="background-color: #f5ffff; border: none;"/>
                        </td>
                    </tr>
                </table>
            </div>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <div style="width: 100%; height: 30%; vertical-align: middle">
                <input align="center" type="button" onclick="formSubmit()" value="Submit">
            </div>
        </form>
    </div>

</body>

4

2 回答 2

0

从下面的代码中删除位置:绝对

div > span { position: absolute; right: 0; bottom: 0; }
于 2013-05-23T14:08:19.443 回答
0

正是这行 CSS 导致了您的问题:

    div > span { position: absolute; right: 0; bottom: 0; }

删除它,日历会再次正确显示。

您的选择器目前过于通用(因此它会拾取作为 div 的直接子级的每个跨度),应该重写以更具体地满足您的预期用途。

请参阅此处删除了那行 CSS 的小提琴:http: //jsfiddle.net/YkdZ4/1/

看起来您正在使用该线将灰色栏中的所有内容与底部对齐,对吗?由于无论如何您都在使用表格,因此您可以在父单元格上使用 valign="bottom" 来获得您所追求的效果,而无需上面的包罗万象的 CSS 行。

在此小提琴中查看更新的 HTML 标记(和删除的 CSS 行):http: //jsfiddle.net/YkdZ4/2/

于 2013-05-23T14:00:58.480 回答