在jQuery的Ajax调用DIV的innerHTML不更新

问题描述 投票:1回答:1

我面临的一个问题,同时更新DIV的HTML。 HTML代码的股利是;

<div id="divforlog" 
     style="z-index:200000; overflow:auto;
     position:fixed; width:400px;
     height:300px; border:solid 2px gray;
     padding:10px; background-color:#F1F1F1">
</div>

按钮的OnClick我把它显示这个隐藏的div代码。然后采取数组,其中包含页面ID的字符串。对于每一个ID我使用jQuery和成功更新div的HTML调用“ashx的”页面。这一切工作正常在Firefox,但不是在其他浏览器(Chrome和IE)。在所有功能结束后,我隐藏使用jQuery“效果基本show”方法的股利。在Firefox,IE和Chrome和这个滑动的作品显示消失之前的div所有的内部HTML。所以我的主要问题是,股利不显示并进行了更新。在Javascreipt还有一个div的引用,其用于进度条,它也并不在IE和Chrome显示。

JavaScript代码如下:

var progress = 0;
var totalpages;
var logstring = '';

function getProgressBarValue() {
  var s =
    '<span style="text-align:center;display:block">' +
    Math.round($('#progressbar').progressbar('option', 'value')) +
    '%</span>';
  return s;
}

function UpdateProgressBar(arg) {
  if (arg == 0) {
    var pvalue = (progress / totalpages) * 70;
    $('#progressbar').progressbar('option', 'value', pvalue);
  } else {
    $('#progressbar').progressbar('option', 'value', 100);
  }
}

function getPageName(PageID) {
  return PageName; //string
}

function DisplayLogDiv() {
  $('#divforlog').css('display', '');
  $('#divforlog').css('top', 300);
  $('#divforlog').css('left', 300);
  $('#divforlog').html('');
  $('#divforlog').slideDown();

  $('#progressbar').css('top', 280);
  $('#progressbar').css('left', 300);
  $('#progressbar').show();
  $('#progressbar').progressbar({ value: 0 });
  $('#progressbar').progressbar('option', 'value', 0);
  logstring = '';
  progress = 0;
  totalpages;
}

function AddLog(logstr) {
  $('#divforlog').html(getProgressBarValue() + logstring);
}

$('#mybutton').click(function() {
  DisplayLogDiv();

  $('#CustomerDetails').show();
  var PageIDs; //it is from some hidden field
  PageIDs = PageIDs + ',';
  var pageArray = PageIDs.split(',');
  totalpages = pageArray.length - 1;

  for (var i = 0; i < pageArray.length; i++) {
    //loop start here
    if (pageArray[i] != '') {
      progress = progress + 1;

      $.ajax({
        contentType: 'text/html; charset=utf-8',
        data: somedatatobepassed,
        url: 'PublishIntermediate.ashx',
        dataType: 'html',
        async: false,
        cache: false,
        success: function(data) {}
      });

      UpdateProgressBar(0);
    }
  }

  $.ajax({
    contentType: 'text/html; charset=utf-8',
    data: somedatatobepassed,
    url: 'PublishIntermediate.ashx',
    dataType: 'html',
    async: false,
    cache: false,
    success: function(data) {
      UpdateProgressBar(100);

      AddLog(data);
    }
  });

  $('#CustomerDetails').hide();
  $('#divforlog').slideUp(500);
  $('#progressbar').slideUp(500);

  return false;
});

问候Ulfat侯赛因

jquery ajax browser html
1个回答
0
投票

这些代码

$('#CustomerDetails').hide();
$('#divforlog').slideUp(500);
$('#progressbar').slideUp(500);

您阿贾克斯成功状态里面,

© www.soinside.com 2019 - 2024. All rights reserved.