jqModal and jquery widget long shot
- by rod
Hi All,
I just started playing around with jquery widgets within my jqmodals in my mvc app. I know this may be a long shot but I'll take it.
Initially, 
I can click the Add link, get the alert ("which is the prize", watching too much tv), next click cancel to close modal and get the desired results.
I can, then, click the Edit link and get the same desired results.
However, if I click Edit link first then I try to click the Add link, "forget about it" I don't get the alert (which means my widget did not init).
But I can still go back and click Edit and get the prize (the alert message).
ajax: "/Home/EditPrintAdLine" and ajax: "/Home/AddPrintAdLine" render the same web user control
Any ideas?
<%@ 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">
    <h2><%= Html.Encode(ViewData["Message"]) %></h2>
    <p>
        To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
    </p>
    <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 
            $('#printAdLineItem').click(function(e) {
                $('#printAdDialog').jqmShow(this);
                e.preventDefault();
            });
            $('#printAdDialog').jqm({
                ajax: "/Home/AddPrintAdLine",
                onLoad: function(hash) {                    
                    $('#PrintAdLine_RunDate').my_widget();
                }
            });
            // Edit line 
            $('#editPrintAdLine').click(function(e) {
                $('#printAdLineEditDialog').jqmShow(this);
                e.preventDefault();
            });
            $('#printAdLineEditDialog').jqm({
                ajax: "/Home/EditPrintAdLine",
                onLoad: function(hash) {
                    $('#PrintAdLine_RunDate').my_widget();
                }
            });
        });
    </script>
</asp:Content>