2011-12-15 6 views
0

jquery 대화 상자 창에 변수를 전달하고 싶습니다. 나는 고전적인 ASP를 사용하고 있고 onyl은 jquery의 세계에 실제로 영향을 주었다. .data 방법을 사용하기 위해 연구하고 시간을 들였지만 문제가 있습니다. 너의 시간과 assitance는 매우 apriciated 것입니다! 여기변수를 jquery 대화 상자에 전달하십시오.

내 옷을 벗었 페이지입니다 :

$(function(){ 
      // Dialog   
      $('#dialog').dialog({ 
       autoOpen: false, 
       show: "slide", 
       hide: "fade", 
       width: 452, 
       modal: true, 
       buttons: { 
        "Ok": function() { 
         PostItNote.submit(); 
         $(this).dialog("close"); 
        }, 
        "Cancel": function() { 
         $(this).dialog("close"); 
        } 
       } 
      }); 

      // Dialog Link 
      $('#dialog_link').click(function(){ 
       $('#dialog').dialog('open'); 
       return false; 
      }); 
     }); 

는이 내가 창을 호출하는 방법입니다

<a href='#' id='dialog_link' CLASS='OrangeButton'> Show Window </a> 

내 창의 내용을 :

<div ID="dialog" TITLE="Periodic Report"> 
    stuff here 
</div> 

왜 수 나는 이것을하지 않는다 :

가이 ASP 루프에 사용되는 방법

가 사전에 감사합니다

do until Products.EOF 
     --other code here--- 
     <a href='#' id='dialog_link(Products(0))' CLASS='OrangeButton'> 
     --other code here--- 
     products.moveNext 
    loop 

답변

1

대화가 당신의 페이지에 div, 그것은 정말 할 수 없도록 "통과"는 값. 그것은 범위의 모든 JavaScript 변수에 의해 조작 될 수 있습니다. 당신은 대화 상자 조작하는 변수를 사용하도록 클릭 핸들러를 변경할 수 있습니다 :

var myVariable = "Some new text for the dialog"; 

$('#dialog_link').click(function(){ 

    //New code to "pass" a value to the dialog 
    $('#dialog').text(myVariable); 

    $('#dialog').dialog('open'); 
    return false; 
}); 

을 아니면 대화의 open 회원 사용할 수 있습니다 : 그것은 때마다

... 
width: 452, 
open: function() { $('#dialog').text(myVariable); }, 
modal: true, 
... 

대화 div을 변경하려면를 열렸다.

id 속성이 함수 호출을 할 수 없으므로 코드 id='dialog_link(someValue)'은 아무 것도 수행하지 않으며 onchange과 같은 이벤트 핸들러 만이 함수 호출을 수행 할 수 있습니다. 가능한 경우에도 dialog_link은 값을 전달할 수있는 함수가 아닙니다. 다른 요소의 id 일뿐입니다.

난 당신이 아마 이미 알고 확신하지만, jQuery를 문서는 매우 유용성은입니다 here are the docs for dialog.

편집 귀하의 코멘트에 대한 응답으로

: 나는 $('#dialog_link').click(); 문을 삭제하고 변경 것 다음 링크 코드 :

<a href='#' class='OrangeButton' onclick='openDialog(someValue);'>Show Window</a> 

그리고 자바 스크립트 함수를 추가는 클릭 이벤트에서 호출되는 :

트릭을 할해야이 같은 ASP 루프 뭔가의 내부
function openDialog(value) { 
    $('#dialog').text(value); 
    $('#dialog').dialog('open'); 
} 

편집 2

는 :

Response.Write("<a href='#' onclick='openDialog(" & Products(0) & ");'>Show</a>") 

이는 전달 onclick 핸들러 페이지에 <a></a> 요소를 작성합니다 원하는 값을 openDialog으로 변경하여 대화 상자에서 액세스 가능하게하십시오.

링크 코드가 모두 한 줄에 맞게 약간 변경되었지만 원하는 경우 언제든지 class='OrangeButton'을 다시 추가 할 수 있습니다.

+0

빠른 응답을 가져 주셔서 감사합니다. JS에서 변수를 초기화하는 예제를 내게 주신 것을 보았습니다. 나는 언급 했어야했다 : Mat41

+0

@ Mat41 : ASP 루프 코드를 게시 할 수 있습니까? 그것은 매우 도움이 될 것입니다. 내가 생각하기에 무언가로 내 답변을 편집했습니다. –

+0

mmmmmm Im이 맞지 않을지 모르겠다. 올바른 편집 버튼을 누르기 만하면된다. (이 포럼에서는 처음이다.) beause ny 추가는 아래에 보이지 않고 'Edit'제목처럼 보이지 않는다. 위의 루프를 'ASP 루프에서 사용하는 방법'텍스트 아래에 게시했습니다. 잘하면이 텍스트를 볼 수 있습니다. – Mat41

관련 문제