iframe календаря отображается справа от текстового поля в первый раз, а затем под ним

avatar
Rod
7 апреля 2018 в 22:29
20
1
0

Окружающая среда:
Веб-формы ASP.NET
Элемент управления 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();
    });
Источник
charlietfl
7 апреля 2018 в 22:32
0

Предоставьте запускаемый минимальный воспроизводимый пример, который воспроизводит проблему

Ответы (1)

avatar
Rod
7 апреля 2018 в 22:44
0

Похоже, мне просто нужно было создать span, добавить к нему iframe, а затем добавить span к элементу td, теперь работает!