2011-02-11 6 views
0

레일즈 앱에서 페이지를 렌더링하는 간단한 jQuery가 있습니다.jQuery UI 대화 상자 - Firefox 사용시 문제

$('a.popup').click(function() { 
    $('<div />').appendTo('body').load($(this).attr('href') + ' form').dialog({ 
     title: $(this).text(), 
     width: 425, 
     position: 'top', 
    }); 
    return false; 
}); 

을 여기에서 앵커 태그 생성, ERB (루비를 포함)와 관련된 HTML입니다 : 다음은 jQuery를이다

<p><%= link_to "Add User", new_user_path, :class => "popup" %></p> 

어쨌든, 문제는이다 : 그것은 표시, 크롬에서 작동 대화 상자에서 올바른 페이지. Firefox에서는 대화 상자에 내용이없고 제목 만 ("사용자 추가") 있습니다.

아이디어가 있으십니까? 감사!

+0

Firefox에 자바 스크립트 오류가 있습니까? JQuery의 어떤 버전입니까? – Dominic

+0

마크 업을 확인하십시오. IE와 가끔씩 FF 태그가 일치하지 않으면 렌더링을 포기할 것입니다. – captaintom

+0

@ 대장, 재미 있네요. 체크해 봅시다. @ddagradi, 1.4.2. – mbm

답변

2

라이브 예제 없이는 말하기 어렵지만 비동기식 AJAX 호출에 타이밍 문제가있을 수 있습니다. 콜백에서 대화 상자를 구축보십시오 : 전체 내용이 jQuery를-UI에 떨어져 당신 손으로 일하기 전에 사용할 수

$('a.popup').click(function() { 
    var $a = $(this); 
    var $dlg = $('<div/>'); 
    $dlg.load($a.attr('href') + ' form', function() { 
     $dlg.dialog({ 
      title: $a.text(), 
      width: 425, 
      position: 'top' 
     }); 
    }); 
    return false; 
}); 

이 방법.