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 внизу файла, это рекомендуется по соображениям производительности страницы и также правильно анализирует скрипт.