Jquery 回发后标签的值丢失
我有一个包含更新面板的aspx页面。在更新面板内,我有一个中继器。我通过jquery访问repeater中的标签并为它们赋值。但赋值后,该值丢失。我的asp.net aspx页面是Jquery 回发后标签的值丢失,jquery,asp.net,updatepanel,Jquery,Asp.net,Updatepanel,我有一个包含更新面板的aspx页面。在更新面板内,我有一个中继器。我通过jquery访问repeater中的标签并为它们赋值。但赋值后,该值丢失。我的asp.net aspx页面是 <div class="row"> 在“更新”面板中绑定控件的步骤 var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function () { $('.divrpt').find('[id*=
<div class="row">
在“更新”面板中绑定控件的步骤
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
$('.divrpt').find('[id*="lblqid"]').hide();
$('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').hide();
$('[id*="btnSubmit"]').on("click", function () {
testAnswer();
});
$('[id*="btnNext"]').on("click", function () {
$('[id*="imageResult"]').hide();
});
});
以及用于检查值的ajax调用
function testAnswer() {
var qtype, qid;
var record="";
var ansDesc = null;
var tf, ch1, ch2, ch3, ch4;
qid = $('.divrpt').find('[id*="lblqid"]').text();
qtype = $('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').text();
record += qid;
record += "," + qtype;
if (qtype == 1) {
ansDesc = $('.divrpt').find('[id*="textans"]').val();
record += "," + ansDesc;
}
else if (qtype == 3) {
tf = $('.divrpt').find('[id*="rdtrue"]').is(":checked");
record += "," + tf;
}
else if (qtype == 2) {
ch1 = $('.divrpt').find('[id*="chk1"]').prop("checked");
ch2 = $('.divrpt').find('[id*="chk2"]').prop("checked");
ch3 = $('.divrpt').find('[id*="chk3"]').prop("checked");
ch4 = $('.divrpt').find('[id*="chk4"]').prop("checked");
record += "," + ch1;
record += "," + ch2;
record += "," + ch3;
record += "," + ch4;
}
$.ajax({
type: "POST",
url: "StudentTest.aspx/answer",
contentType: "application/json;charset=utf-8",
data: JSON.stringify({ parameter1: record }),
success: function (data) {
if (data.d == "correct") {
var mks = $('[id$="lblMarks"]').text();
var marks = ++mks;
$('[id$="lblMarks"]').text(marks);
alert($('[id$="ContentPlaceHolder1_lblMarks"]').text());
$('[id*="imageResult"]').show();
$('[id*="imageResult"]').html('<p class="text-center"><img src="img/correctAnswer.png" height="50px" width="50px" class="img-circle"/></p>');
}
else {
$('[id*="imageResult"]').show();
$('[id*="imageResult"]').html('<p class="text-center"><img src="img/wrongAnswer.jpg" height="50px" width="50px" class="img-circle" /></p>');
}
}
});
ajax调用成功时为标签分配一个值,但该值丢失。
我不知道为什么会这样。由于更新面板,我已恢复控件。
更新标签后,我们如何保持标签的值。当您单击“提交”按钮时,页面是否会回发?单击“提交”按钮时,会向服务器发出ajax调用。这些值是从ajax调用中正确获取的,并且这些值被正确地分配给标签。但是之后,当控件到达内部prm.add_endRequest(函数(){值丢失如果Label控件位于UpdatePanel内,则使用jQuery更改的Label控件的值不会在回发过程中保持不变。
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
$('.divrpt').find('[id*="lblqid"]').hide();
$('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').hide();
$('[id*="btnSubmit"]').on("click", function () {
testAnswer();
});
$('[id*="btnNext"]').on("click", function () {
$('[id*="imageResult"]').hide();
});
});
function testAnswer() {
var qtype, qid;
var record="";
var ansDesc = null;
var tf, ch1, ch2, ch3, ch4;
qid = $('.divrpt').find('[id*="lblqid"]').text();
qtype = $('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').text();
record += qid;
record += "," + qtype;
if (qtype == 1) {
ansDesc = $('.divrpt').find('[id*="textans"]').val();
record += "," + ansDesc;
}
else if (qtype == 3) {
tf = $('.divrpt').find('[id*="rdtrue"]').is(":checked");
record += "," + tf;
}
else if (qtype == 2) {
ch1 = $('.divrpt').find('[id*="chk1"]').prop("checked");
ch2 = $('.divrpt').find('[id*="chk2"]').prop("checked");
ch3 = $('.divrpt').find('[id*="chk3"]').prop("checked");
ch4 = $('.divrpt').find('[id*="chk4"]').prop("checked");
record += "," + ch1;
record += "," + ch2;
record += "," + ch3;
record += "," + ch4;
}
$.ajax({
type: "POST",
url: "StudentTest.aspx/answer",
contentType: "application/json;charset=utf-8",
data: JSON.stringify({ parameter1: record }),
success: function (data) {
if (data.d == "correct") {
var mks = $('[id$="lblMarks"]').text();
var marks = ++mks;
$('[id$="lblMarks"]').text(marks);
alert($('[id$="ContentPlaceHolder1_lblMarks"]').text());
$('[id*="imageResult"]').show();
$('[id*="imageResult"]').html('<p class="text-center"><img src="img/correctAnswer.png" height="50px" width="50px" class="img-circle"/></p>');
}
else {
$('[id*="imageResult"]').show();
$('[id*="imageResult"]').html('<p class="text-center"><img src="img/wrongAnswer.jpg" height="50px" width="50px" class="img-circle" /></p>');
}
}
});
$('[id*="btnSubmit"]').on("click", function () {
testAnswer();
});
$('[id*="btnNext"]').on("click", function () {
$('[id*="imageResult"]').hide();
$('.divrpt').css("background", "white");
});