JQuery IE Выберите выпуск - PullRequest
       5

JQuery IE Выберите выпуск

0 голосов
/ 27 января 2012

Возникли проблемы с IE7.IE8, Chrome, Firefox все работают нормально, но IE7 не будет выполнять этот код.

Вот HTML Select (Snippet)

<form name="frmCat" action="index3.html" method="get">
            <select id="mySelect" onChange="onchange1((this).options[this.selectedIndex].value);">
                <option>Select a Category</option>
            </select>

, а вот JavaScript, который прекрасно работает вдругие браузеры (фрагмент AJAX):

function onchange1(catname){
    //alert(catname);
            $.ajax({
            type: "GET",
            url: "xml/categories.xml",
            dataType: "xml",
            success: function(xml) {
                var div = $('#epcf-wrap');
                var findval = "Cat"
                $(xml).find('Cat').each(function(){
                    var cval = $(this).attr('name');
                                            if(catname === cval){
                                            // I bet there is an easier way to do this
                                            var xmlArr = [];
                                            var xml_EPCF_1_1        = $(this).find('EPCF_1_1').text();

Я читал, что существует какая-то проблема с IE7 и AJAX, и я видел некоторые намеки на то, что должна быть какая-то форма проверки MSIEно я новичок в JavaScript и JQuery, и ничто из того, что я нашел, очень четко не соответствует тому, что я здесь делаю.

Мысли?

Ответы [ 2 ]

1 голос
/ 27 января 2012

Вы можете просто не использовать встроенный JavaScript. Используйте способ jQuery.

$('#mySelect').change(function(){
    //You can get the select value by the way below.
    var catname = $(this).val();
    $.ajax({
        type: "GET",
        url: "xml/categories.xml",
        dataType: "xml",
        success: function(xml) {
            var div = $('#epcf-wrap');
            var findval = "Cat"
            $(xml).find('Cat').each(function(){
                var cval = $(this).attr('name');
                if(catname === cval){
                    //....
                }
            }
        }
    });
});
0 голосов
/ 27 января 2012

Нет проблем использовать ajax в IE7.

добавьте обработчик ошибок в вызов ajax и посмотрите, какое сообщение об ошибке возвращается.

также убедитесь, что ваш метод получает правильный параметр.

последний,

 $("#myselect").change(handler(event)) 

звучит немного чище. это в документе JQuery в: http://api.jquery.com/change

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