Jquery $.post не работает на Chrome

У меня проблема, но я не смог ее решить.

мой код работает на Firefox отлично.

У меня есть два списка: первый содержит страны, второй содержит города. Если вы измените страну, список городов появится во втором списке.

мой код JQuery:

$('#country').change(function(){

var sec=$('#country').val();

    $.post(
            'select.php?do=country',
            {s:sec},
            function(answer){
                $('#city').html(answer);
            }
    );

});

когда я сменил страну, в Google Chrome ничего не происходит.

благодарю вас.

2 ответа

Решение

Весь этот код завернут в $(document).ready() метод?

Chrome разбирает быстрее чем ffox и поэтому привязка change функция может иметь место до того, как DOM будет готов. Без использования функции готовности DOM, элемент с идентификатором country может не отображаться браузером.

$(function() {
// or $(document).ready(function() {
  $('#country').change(function(){

  var sec=$('#country').val();

    $.post(
            'select.php?do=country',
            {s:sec},
            function(answer){
                $('#city').html(answer);
            }
    );

  });

});

В дополнение к оборачиванию кода в "функцию загрузки" вы можете поместить js внизу файла, это рекомендуется по соображениям производительности страницы и также правильно анализирует скрипт.

Другие вопросы по тегам