jQuery, jSon и IE8 не работают на 100% правильно - PullRequest
1 голос
/ 25 ноября 2011

Я использую внутренний PHP-файл для сбора своих данных из базы данных и использую jquery для отображения информации.

Все хорошо в Firefox и IE9, но в IE8 первый результат не отображается на 100%только половина информации отображается без какой-либо разметки.

Я проверил все кавычки, запятые и другие символы, с которыми работает IE, но пока ничего.Вопрос в том, почему приведенный ниже код не работает на 100% в IE8?

Код JS:

function addInfo(data) {  
    var x = 0;
    var content = '';
    var land;

    $.each(data.gebieden, function(i,info){  
        y = info.id;
        land = landen_array[info.lid];

        content += '<li>';
        content += '<a class="price" href="' +info.url+'" target="_blank">';
        content += '&euro; '+info.prijs+'';
        content += '</a>';
        content += '<img src="/images/accommodatie/small/'+ info.image +'.jpg" alt="'+info.naam+'" class="result_image"/>';
        content += '<h3>'+info.naam+'</h3>';
        content += '<h4 class="au"><img src="/images/'+land+'.png" class="flag_small">  | '+info.gebied+' | '+info.dorp+'</h4>';
        content += '<dl>';
        content += '<dt>Gebied</dt>';
        content += '<dd>';
        content += '<ul>';
        content += '<li>'+info.min_hoogte+' - '+info.max_hoogte+'m</li>';
        content += '<li>'+info.pistes+' km pistes</li>';
        content += '<li>Gaaf gebied</li>';
        content += '</ul>';
        content += '</dd>';
        content += '<dd>';
        content += '<details>';
        content += '<summary>';
        content += '<a class="leesmeer" id="detail_layer1_'+ y +'">Lees Meer</a>';
        content += '</summary>';

        content += '<div class="gebiedinformatie" id="layer1_'+ y +'">';
        content += '</div>';

        content += '</dd>';
        content += '</dl>';

        content += '<dl>';
        content += '<dt>Dorp informatie</dt>';
        content += '<dd>';
        content += '<ul>';
        content += '<li>'+info.afstand_utrecht+' km tot Utrecht</li>';
        content += '<li>Retourneren</li>';
        content += '<li>Klachten</li>';
        content += '<li>Contact</li>';
        content += '</ul>';
        content += '</dd>';
        content += '<dd>';
        content += '<details>';
        content += '<summary>';
        content += '<a class="leesmeer" id="detail_layer2_'+ y +'">Lees Meer</a>';
        content += '</summary>';

        content += '<div class="dorpinformatie" id="layer2_'+ y +'">';
        content += '</div>';            

        content += '</dd>';
        content += '</dl>';

        content += '<dl>';
        content += '<dt>Accomodatie</dt>';
        content += '<dd>';
        content += '<ul>';
        content += '<li>Dorp id '+ y +'</li>';
        content += '<li>Privacystatement</li>';
        content += '<li>Algemene voorwaarden</li>';
        content += '</ul>';
        content += '</dd>';
        content += '<dd>';
        content += '<details>';
        content += '<summary>';
        content += '<a class="leesmeer" id="detail_layer3_'+ y +'">Lees Meer</a>';
        content += '</summary>';

        content += '<div class="accomodatieinformatie" id="layer3_'+ y +'">';
        content += '</div>';

        content += '</dd>';
        content += '</dl>';
        content += '</li>';

        x = x+1;
    })
    $("#results").empty();

    // update pagination information
    //
    var pagina_info = data.pagina;
    if (pagina_info.aantal_resultaten > 0) {
        var tot_aantal = pagina_info.max_per_page * pagina_info.current_pag;
        var vanaf_aantal = ((pagina_info.current_pag-1) * pagina_info.max_per_page) + 1;

        var pag = '<div id="Pagination" class="pagination">';
        for(i=1;i<=pagina_info.totaal_aantal_pag;i++) {
            if (i != pagina_info.current_pag) {
                pag += '<a href="#" id="pag_'+i+'" class="page_no">'+i+'</a>';
            } else {
                pag += '<span class="current">'+ i +'</span>';
            }
        }
        pag += '</div><br>';
    } else {
        var tot_aantal = 0;
        var vanaf_aantal = 0;
    }

    info = "Resultaat "+ vanaf_aantal+ " tot "+ tot_aantal +" van "+pagina_info.aantal_resultaten+" resultaten.";
    $("#results").append(info).append(pag);  
$("#resultaten").append(content);  

}

Информация Json, котораяотправьте обратно, чтобы заполнить вышесказанное:

{
"gebieden":
    [{
        "id":"19",
        "naam":"Appartementen Gletscherpanorama",
        "lid":"1",
        "min_hoogte":"753",
        "max_hoogte":"3029",
        "prijs":"79.00",
        "url":"http:\/\/ds1.nl\/c\/?wi=127251&amp;si=2374&amp;li=146991&amp;dl=oostenrijk\/zell_am_see-kaprun\/kaprun\/appartementen_gletscherpanorama.htm&amp;ws=",
        "pistes_groen":"0",
        "pistes_blauw":"57",
        "pistes_rood":null,
        "pistes_zwart":null,
        "pistes":"138",
        "gebied":"Zell am See - Kaprun",
        "gid":null,
        "dorp":"Kaprun",
        "afstand_utrecht":"966",
        "image":"accom_small_19"
    },
    {
        "id":"30",
        "naam":"Appartementen Mariandl & Dependance",
        "lid":"1",
        "min_hoogte":"753",
        "max_hoogte":"3029",
        "prijs":"94.00",
        "url":"http:\/\/ds1.nl\/c\/?wi=127251&amp;si=2374&amp;li=146991&amp;dl=oostenrijk\/zell_am_see-kaprun\/piesendorf\/appartementen_mariandl__dependance.htm&amp;ws=",
        "pistes_groen":"0",
        "pistes_blauw":"57",
        "pistes_rood":null,
        "pistes_zwart":null,
        "pistes":"138",
        "gebied":"Zell am See - Kaprun",
        "gid":null,
        "dorp":"Piesendorf",
        "afstand_utrecht":"966",
        "image":"accom_small_30"
    }],
"pagina":
    {
        "pages_before":"1",
        "pages_after":0,
        "max_per_page":"10",
        "current_pag":1,
        "totaal_aantal_pag":4,
        "aantal_resultaten":33
    }
}

И, как последний, HTML-кодировка:

<ul class="resultaten" id="resultaten"></ul>

Любые дополнительные вопросы / информация, пожалуйста, сообщите мне.* Любые улучшения в коде всегда приветствуются.

1 Ответ

1 голос
/ 25 ноября 2011

Используете ли вы что-нибудь для активации HTML5?

Теги типа: <details>, <summary> пока не поддерживаются и не будут правильно отображаться в <= IE8 </p>

См. Следующую ссылку для получения дополнительной информации, и вы можете найти активатор HTML5 для браузеров, которые еще не поддерживают теги: http://html5doctor.com/how-to-get-html5-working-in-ie-and-firefox-2/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...