1

我正在开发一个 asp.net mvc 3 应用程序。我使用剃须刀,但我认为在这种情况下它与问题无关。我使用继承的 jQuery 日期时间选择器,它适用于我使用它的所有页面,但对于这个,日历显示的不是我想要的位置。事实上,这就是我现在得到的:

日历

我想,在其他使用相同代码的页面上,日历出现在Choose Date文本框的正下方。这是我用来显示日历的代码:

@using (Html.BeginForm())
{
    var dateID = "jc_dateBefore";
    var calParent = "jcalendar_parentBefore";
<span>
    @Html.DropDownList(...)
    @Html.DropDownList(...)

    @Html.TextBox("selDate", "Изберете Дата", new { @id = dateID, @class = dateID })
    <img onclick="viewCalendar('@calParent', '@dateID')" style="margin-top: 5px;" width="20" height="20" src="../../Content/redmond/images/calendar-32x32.png" alt="CAL" border="0"/>
    <div id="@calParent" class="jcalendar_parent" style="z-index: 999"></div>

    @Html.DropDownList(...)
    <input type="submit" value="Search" />
</span>
}

这直接在我看来,这是viewCalendar('@calParent', '@dateID')方法:

function viewCalendar(parent, destField) {
    parentObj = document.getElementById(parent);
    if (isVisible) {
        parentObj.style.display = "none";
        isVisible = false;
    } else {
        parentObj.style.display = "";
        if (parentObj.innerHTML == "") {
            generateCalendar(parent, destField);
        }
        isVisible = true;
    }
}

function generateCalendar(parent, destField) {
    findFromDate();
    calendarIter = calendarFrom;
    findToDate();
    generateCalendarTable(parent, destField);
}
//and more methods below can't post them all

我不确定这是否足以解决问题。我唯一没有发布的是整个.js文件,但它太长了。但是,我得到建议,也许它CSS可以解决问题。我现在看不到这样的解决方案。我也不明白这个属性的含义:

@using (Html.BeginForm())
    {
        var dateID = "jc_dateBefore";
        var calParent = "jcalendar_parentBefore";

我认为他们更多地参与其中,但是……这只是建议。如果您需要任何具体的附加信息,请询问。

4

0 回答 0