开发者

jquery load problem in ie8 compatibility mode

I use the load plugin of jquery in my webapplication.

Here is my piece of code:

$.post("/ecommerceV2/"+langcode+"/ecommerce/sortPromo",{promotypeid: $(v).val()},function(response){
  if (response.same == 'yes'){
   $('#infoLegende').show();
   $('#infoLegende').html('no' + $('#legende'+$(v).val()).html());
  }else{
   $('#infoLegende').hide();
   $('#legende'+$(v).val()).addClass('legendeBackground');
   $('#legende'+$(v).val()).removeClass('legendeTest');
   $('.assortiment').fadeOut('slow');
    $('.assortiment').load("/ecommerceV2/"+langcode+"/ecommerce/volledigAssortiment .assortiment",{assortiments: response.assortiments},function(){ $('.assortiment').fadeIn('slow');
  }
 },"json");

.assortiment is a table. This piece of code works fine in ie8, firefox, chrome, ... only the ie8 compatability mode won't show the results in my table.

Can somebody help me with this?

Update:

<div id="lijst">
    <div id='assortimentHeader'></div>
<table summary='assortiment' class='assortiment' width=805 id='assortiment' cellspacing=0>
<tr id='headerAssortiment' >
<th width=20 style='text-align: center;'>Code</th>
<th width=200 style='text-align: center;'>Omschrijving</th>
<th width=40 style='text-align: right;'>Prijs</th>
<th width=40 style='text-align: right;'>Adv.prijs</th>
<th width=35 style='text-align: right;'>Marge</th>
<th width=20 style='text-align: center;'>Bestel</th>
<th width=6 style='text-align: center;'>B1</th>
<th width=6 style='text-align: center;'>B2</th>
<th width=6 style='text-align: center;'>B3</th>
</tr>
<tr class='artikelgroep'><td colspan='9'><img alt='add' src='/ecommerceV2/assets/images/icons/add%202.png' style='float:left;' /><b>CHAMPIGNONS</b></td></tr>
<tr align='center' class="artikelRijDonkerPromo1">
<td width=20>5905</td>
<td width=200 class='omschrijving' style='cursor: pointer; text-align: left;'>CHAMP. (12X250GR)DEKSEL<img alt='foto' src='/ecommerceV2/assets/images/camera.png' style='float: right;' width='25' height='17' /><input type='hidden' class='artikel' value='5905' /></td>
<td width=40 style='text-align: right;'>&euro; 0.73</td>
<td width=40 style='text-align: right;'>&euro; 1.19</td>
<td style='margin-left: 20px; text-align: right;' width=35>34.97%</td>
<td width=20><input type='text' style='text-align: right; border: 1px #d9d9d9 solid;' size=5 class='aantal' name='aantal[5905]' /><input type='hidden' class='art开发者_JS百科ikel' value='5905' /></td>
<td width=6>1</td>
<td width=6></td>
<td width=6>1</td>
</tr>
</table>
</div>


Although I recommend fixing the code, a work around would be to make sure the page doesn't render in IE8 compatibility mode by default. You can do this in the head of your webpage:

<head><meta http-equiv="X-UA-Compatible" content="IE=8" /></head> 


Any errors you can show us?

To start with, your missing a closing bracket for your .load function perhaps? I changed your code and laid it out how I do, easier to see brackets, etc (I find). Here is what I ended up with, brackets now match. Although if this was the issue I am surprised it worked in any browser.

$.post("/ecommerceV2/"+langcode+"/ecommerce/sortPromo",{promotypeid: $(v).val()},function(response)
{
    if (response.same == 'yes')
    {
        $('#infoLegende').show();
        $('#infoLegende').html('no' + $('#legende'+$(v).val()).html());
    }
    else
    {
        $('#infoLegende').hide();
        $('#legende'+$(v).val()).addClass('legendeBackground');
        $('#legende'+$(v).val()).removeClass('legendeTest');
        $('.assortiment').fadeOut('slow');
        $('.assortiment').load("/ecommerceV2/"+langcode+"/ecommerce/volledigAssortiment .assortiment", {assortiments: response.assortiments} , function()
        { 
            $('.assortiment').fadeIn('slow');
        });
    }
} ,"json");
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜