2011-10-05 124 views
2

任何想法爲什麼這是行不通的?jQuery加載中未加載內容

$('a.uiAjaxModal').click(function (e) { 

      e.preventDefault(); 

      $modalHtml = '<div class="uiModalWrapper"><div class="uiModal"><!--content here--></div></div>'; 

      $($modalHtml).find('.uiModal').load($(this).attr('href')); 

      $('body').append($modalHtml); 

     }); 

<a class="uiAjaxModal" href="/Organisations/New">New</a> 

它追加模式罰款,但內容沒有加載,我在控制檯沒有錯誤!

另外我怎麼能這樣做,以便modalHtml只是附加到一個點擊事件像我在我的代碼中完成,但確保只有一個它的實例可以存在於屏幕上?

+0

提示:你是谷歌瀏覽器本地網頁上檢查? load()現在可以在使用谷歌瀏覽器的本地頁面上運行。這讓我發現,直到我發現。 – Arda

回答

0

我結束了使用.ajax()代替其工作正常,並有更好的選擇

0

使字符串到jQuery對象,因爲你是在AJAX使用jQuery對象,但你追加的是一個字符串,而不是一個jQuery參考:

$('a.uiAjaxModal').click(function (e) { 

     e.preventDefault(); 

     $modalHtml = $('<div class="uiModalWrapper"><div class="uiModal"><!--content here--></div></div>'); 

     $modalHtml.find('.uiModal').load($(this).attr('href')); 

     $('body').append($modalHtml); 

    }); 

<a class="uiAjaxModal" href="/Organisations/New">New</a> 

,如果你只希望它運行一次,然後在jquery中查看.one()方法。

0

我認爲選擇器無效。請試試

$('。uiModalWrapper')。find('。uiModal')。load($(this).attr('href'));