2010-02-11 9 views
1

jquery 대화 상자가 링크로 열립니다. 대화 상자를 열 때마다 이미지가 새로 고쳐지기를 바랍니다. jquery 대화 상자에서 이미지 새로 고침

나는 이런 식으로 뭔가를 시도 :

function open_dialog() { 
    $("#imageThumbBox").dialog('destroy'); 
    $("#imageThumbBox").dialog({ 
    autoOpen: false, 
    closeOnEscape: true, 
    resizable: true, 
    height: 'auto', 
    width: 'auto', 
    buttons: { 
     Cancel: function() { 
     $(this).dialog('destroy'); 
     } 
    }, 
    close: function() { 
     $(this).dialog('destroy'); 
    }, 
    open: function() { 
    } 
    }); 
    var img = db_cgi_url + "/photo.cgi?do=view;ID=" + ID + ";" + now.getTime(); 
    $("#my_image").attr("src", img); 
    $("#imageThumbBox").dialog('open'); 
} 

내가 한 사업부가 대화 상자에없는 임의의 "IMG"태그의 벌금을 업데이트 할 수 있습니다. 그러나 이것은 img가 업데이트되지 않기 때문에 발생합니다. 대화 상자는 immediatley를 열 때 파괴되지 않습니다. 성공적으로 열기 및 닫기 함수에서 이미지를 업데이트하려고했습니다. 어떤 제안? open 콜백 함수에 다음 두 줄을 이동

답변

-1

그래서 문제를 발견했습니다. 아이러니하게도 그것은 데이트와 관련된 일이었습니다. 함수의 외부에서 변수를 "지금"선언 했으므로 날짜가 실제로 변경되지 않았습니다.

은 그래서

var img = db_cgi_url + "/photo.cgi?do=view;ID=" + ID + ";" + new Date().getTime(); 

에 라인을 변경되지 봐라 ... 아무 문제!

+1

내가 제안한 바를 수행했다면 효과가 있었습니까? –

+0

아니야. 실제로 원래의 메시지를 읽었을 때 이미 두 줄을 열어 닫으려고했지만 성공하지 못했기 때문에 원래의 메시지를 읽지 않았기 때문에 그렇지 않다. 문제는 두 줄을 배치하는 것이 아니라 시간 기능을 배치하는 데있었습니다. – Jonathan

3

시도 : 요소의 컨테이너가 실제로 존재하는지 확인합니다

var img = db_cgi_url + "/photo.cgi?do=view;ID=" + ID + ";" + now.getTime(); 
$("#my_image").attr("src", img); 

.

또한 now.getTime() 대신 (+new Date())을 시도해보십시오.

+0

나는 그것을 성공시키지 않으려 고 노력했다. 대화 상자를 다시로드하지 않습니다. 대화 상자가 처음로드되면 다시로드하거나 삭제할 수없는 것과 같습니다. 현재 "var now = new Date();"가 있습니다. 내 코드 상단에 – Jonathan