Код JQuery не работает в IE 8 - PullRequest
       5

Код JQuery не работает в IE 8

0 голосов
/ 01 февраля 2011

Этот код работает в Firefox, но в IE 8 он ничего не возвращает

<script type="text/javascript">

$(document).ready(function(){

var pageUrl = '<%=ResolveUrl("~/test/test.aspx")%>';

   // Test
        $('#<%=ddlTest.ClientID%>').change(function(){
            var trgId = $(this+'input:checked').val();

            $.ajax({
                type: "POST",
                url : pageUrl+ '/getRecs',
                data : '{categ: "' +trgId + '"}',
                contentType:"application/json; charset=utf-8",
                dataType:"json",
                success:function(msg)
                    { 
                        bindCategories(msg)
                    }
                });
        });
});

$('#divLoad').ajaxStart(function() {
    $(this).show();
});

$('#divLoad').ajaxStop(function() {
    $(this).hide();
});

function bindCategories(msg)
        {
             if(msg.hasOwnProperty("d"))
                alert(msg.d);
             else
             {
                 $('select[id$=<%=ddlTrg.ClientID %>] > option').remove();

                 $.each(msg, function() {
                    $('#<%=ddlTrg.ClientID %>').append($('<option></option>').val(this['Id']).html(this['Name']));
                 });
             }
        }

</script>`

1 Ответ

1 голос
/ 01 февраля 2011

Эта строка не выглядит правильно?

var trgId = $(this+'input:checked').val();

this - это HTML-элемент, поэтому вы не можете просто использовать его, как и вы.

Вы имеете в виду что-то вроде:

var trgId = $('#' + this.id).val();

или

var trgId = $(this).find('input:checked').val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...