日历iframe第一次显示在文本框的右侧,然后从此开始显示在文本框的右侧

时间:2018-04-07 22:29:13

标签: javascript css asp.net detailsview

环境:
ASP.NET Web窗体
DetailsView控件
编辑模式

当您在文本框内单击时,我有date input field显示我的iframe calendar。这都在detailsview edit template element内。

第一次显示文本框右侧的日历(所需结果),但从那时起如果我隐藏然后再次显示它,它会出现在文本框的下方。为什么不一致?有什么想法吗?

$('.update-date-started').on('click',
    function () {
        var $tdElement = $(this);

        var $cal = $tdElement.find('#calFrame');

        if ($cal.length == 0) {
            var iframe = document.createElement("iframe");
            iframe.src = 'CalendarPopup.aspx?field=tbDateStarted';
            iframe.id = "calFrame"
            iframe.width = '275'
            iframe.height = '203'
            iframe.style = "position: absolute;"
            $tdElement.append(iframe);
        }

        $cal.toggle();
    });

1 个答案:

答案 0 :(得分:0)

看起来我只需要创建一个span,将iframe添加到该span,然后将td添加到Foo元素,立即行动!