Виджет справки виджета jqModal и jquery не запускается - PullRequest
0 голосов
/ 29 декабря 2010

Я только начал играть с jquery-виджетами в моем jqmodals в моем приложении mvc.

Первоначально

  1. Я могу щелкнуть ссылку «Добавить», получить предупреждение («которое является призом»), затем нажать «Отмена», чтобы закрыть модальный режим для желаемого результата.
  2. Затем я могу щелкнуть ссылку «Изменить» и получить такой же желаемый результат.
  3. Однако, если я сначала нажму на ссылку «Изменить», а затем попробую щелкнуть ссылку «Добавить», «забудь об этом», я не получу предупреждение (что означает, что мой виджет не инициализировался).
  4. Но я все еще могу вернуться и нажать «Изменить» и получить приз (предупреждающее сообщение).

ajax: "/ Home / EditPrintAdLine" и ajax: "/ Home / AddPrintAdLine" в конечном итоге отобразит тот же элемент управления веб-пользователя, который содержит элемент, который вставляет виджет (имя поля - PrintAdLine_RunDate)

Есть идеи?

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
    Home Page
</asp:Content>

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">

    <div id="printAdLineEditDialog" class="jqmWindow"></div>
    <div id="printAdDialog" class="jqmWindow"></div>

    <table>   
    <tr><td><a id="printAdLineItem" href="#">Add a Line Item</a></td></tr>
    <tr><td><a id="editPrintAdLine" href="#">Edit</a></td></tr>        
    </table>

    <script type="text/javascript">
        $(document).ready(function() {

            $.widget("ui.my_widget", { _init: function() { alert("My widget was instantiated"); } });

            // Add line    
            $('#printAdDialog').jqm({
                ajax: "/Home/AddPrintAdLine",
                trigger: '#printAdLineItem',
                onLoad: function(hash) {                    
                    $('#PrintAdLine_RunDate').my_widget();
                }
            });

            // Edit line    
            $('#printAdLineEditDialog').jqm({
                ajax: "/Home/EditPrintAdLine",
                trigger: '#editPrintAdLine',
                onLoad: function(hash) {
                    $('#PrintAdLine_RunDate').my_widget();
                }
            });
        });
    </script>

</asp:Content>

1 Ответ

0 голосов
/ 05 января 2011

Оказалось, что проблема с областью видимости.

$('#PrintAdLine_RunDate', 'printAdLineEditDialog').my_widget();

$('#PrintAdLine_RunDate', 'printAdDialog').my_widget();
...