버튼을 눌렀을 때 실행되는 jQuery 함수에는 다음과 같은 문이 있습니다.jquery .data가 정상적으로 작동하지 않습니다.
$("#Button1").click(function (evt) { // automatically bind the click event
evt.preventDefault();
var loc = window.location.href;
$.ajax({
type: 'POST',
url: loc + "/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
success: function (msg) {
$("#Label1").text(msg.d);
$("#Label1").data("dateAndTime", msg.d);
alert("the date and time is " + $("#Label1").data("dateAndTime"));
}
});
});
버튼을 영문에서 :
이<asp:Button ID="Button3" runat="server" Text="Button" OnClick="Button3_Click" />
Button3_Click 빈 방법이다 나는 즉시 경고에 "dateAndTime의"의 값을 표시하기 때문에이 예상 않는 한.
이 값은 브라우저 창이 열려있는 한 사용할 수 있다는 것을 알고 있습니다. 호출 된 함수가 완료되고 페이지가로드 된 후 포스트 백을 발생시키는 버튼을 누릅니다. 나는 "준비"기능에서 동일의 .js 파일에 다음 문이 :
alert("the new date and time is " + $("#Label1").data("dateAndTime"));
내가 원래 표시 될 저장된 값을 기대를하지만, 내가 대신 "정의되지 않은"얻을. 내가 기대하는 것을 얻어야합니까, 아니면 .data를 이해하지 못합니까?
완전한 코드 예제를 게시 할 수 있습니까? 특히 포스트 백 부분. – j08691
페이지가 다시로드되면 포스트 백이 페이지를 다시로드하므로 DOM이 변경되므로 해당 값을 얻지 못할 것입니다. – ocanal
@ j08691, 더 많은 코드를 추가했습니다. 나는 포스트 백에 대해 이해하지만 .data에 대한 전체적인 생각은 데이터를 두 번째로 가져올 필요없이 다시 사용할 수 있도록 유지하는 것이라고 생각했습니다. – Scott