我有一个进度条,当用户输入表格并提交按钮时,我会显示进度。
在值的基础上,查询运行用户输入次数并添加记录然后获取它们。
我添加了Ajax,以便在同一页面上显示结果,但是我希望在完成进度后打印内容。
我尝试过:
$(function(){
$("button").click(function(event){
event.preventDefault();
$.ajax({
type:"POST",
url:"result.php",
data:$("#form").serialize(),
success:function(data){
var insert_records = $("#write_record").val();
for(var i=0; i<insert_records; i++)
$("progress").animate({ value: "+="+insert_records }, 5000);
if($('progress').prop('value') == insert_records)
{
$("#content").html(data);
}
}
});
});
});
我对我的最后一段代码有疑问。我想以某种方式获取进度条的value属性的值,并将其与insert_records变量的最大值进行比较。
然后使用$(“#content”)。html(data);
显示内容我的错误是什么?
答案 0 :(得分:0)
由于动画的原因,进度条的值需要5000毫秒来更新,你需要在完成之后通过将其放入回调函数中来获取值:
$(function () {
$("button").click(function () {
event.preventDefault();
$.ajax({
type: "POST",
url: "result.php",
data: $("#form").serialize(),
success: function (data) {
var insert_records = $("#write_record").val();
var newValue = $('progress').prop('value') + insert_records;
$("progress").animate({
value: "+=" + insert_records
}, 1000, function () { // Animation complete.
if ($('progress').prop('value') == newValue) {
$("#content").html(data);
}
});
}
});
});
});
注意:我不知道for循环可能没有必要。