Раскрывающийся список бритвы не работает должным образом после вызова AJAX - PullRequest
0 голосов
/ 30 октября 2018

Я реализовал выпадающее меню. При первом открытии и закрытии диалогового окна выпадающий список не работает. Однако, когда я открывал и закрывал диалоговое окно во второй раз, раскрывающееся меню начало работать и так далее. Это работало альтернативно. Раньше я запускал выпадающий список в функции успеха ajax, но он не работает.

Я прикрепил код. Пожалуйста, помогите мне выявить ошибку.

Файл макета

@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/Content/themes/base/jquery-ui.min.css" rel="stylesheet" />
<link href="~/Content/jquery.dataTables.min.css" rel="stylesheet" />

<script src="~/Scripts/jquery-3.2.1.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>
<script src="~/Scripts/datatables.min.js"></script>
<script src="~/Scripts/jquery.dataTables.min.js"></script>

<div class="dropdown pull-right" id="li_cent">
                    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Welcome:@ViewBag.id
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu" aria-labelledby="dropdownMenu2" id="menue">
                        <li>@Html.ActionLink("Logout", "Logout", "MainPage")</li>

                    </ul>
 </div>

Индексный файл

<script>
            $(document).ready(function () {
                    $('.tablecontainer').on('click', 'a.popup', function (e) {

                        e.preventDefault();
                        OpenPopup($(this).attr('href'));

                    })

                    function OpenPopup(pageUrl) {
                        var $pageContent = $('<div/>');
                        $pageContent.load(pageUrl, function () {
                            $('#popupForm', $pageContent).removeData('validator');
                            $('#popupForm', $pageContent).removeData('unobtrusiveValidation');
                            $.validator.unobtrusive.parse('form');


                        });

                        $dialog = $('<div class="popupWindow" style="overflow:auto"></div>')
                            .html($pageContent)
                            .dialog({
                                draggable: true,
                                autoOpen: false,
                                resizable: true,
                                model: true,
                                title: 'Dialog',
                                height: 580,
                                width: 650,
                                close: function () {
                                    $dialog.dialog('destroy').remove();
                                }
                            })

                        $('.popupWindow').on('submit', '#popupForm', function (e) {
                            var url = $('#popupForm')[0].action;
                            //alert(url);
                            $.ajax({
                                type: "POST",
                                url: url,
                                data: $('#popupForm').serialize(),
                                success: function (data) {
                                    $dialog.dialog('close');
                                    oTable.ajax.reload();
                                    $('.dropdown-toggle').dropdown();
                                 }
                          })

                            e.preventDefault();
                        })

                        $dialog.dialog('open');

                    }
                })

    </script>
...