Ajax не работает на Chrome (который работал в Firefox), возможно, из-за ошибки события - PullRequest
1 голос
/ 03 февраля 2011

мой скрипт не работает на Chrome, но отлично работает на Firefox

скрипт выглядит следующим образом, а r_tour является идентификатором элемента select, а опция является опцией

$("#r_tour option").click(function(){
     var value = $(this).val(); $.post(      
        'url',
        {"id": value}, function(data){
        $(div).html(data);}, "html" ); 
})

и ссылка здесь . по этой ссылке вы получите значение по умолчанию, загруженное из ajax (поскольку ajax вызывается при загрузке документа), но (событие, запрошенное ajax, событие не будет загружено).

Я думаю, что это возможно из-за события, но до сих пор не знаю.

UPDATE ::

этот фрагмент кода также не работает на моем локальном сервере

$(function (){
$("#r_tour option").click(function(){
     var value = $(this).val(); 
     alert(value);
})
});

Ответы [ 2 ]

2 голосов
/ 03 февраля 2011

Можете ли вы проверить, работает ли это для вас? Он должен выполнить то же самое.

$("#r_tour option").click(function(){
     var value = $(this).val(); 
     $(div).load (url, 'id=' + uriEncodeComponent(value));
})

UPDATE

Теперь я вижу. Кажется, что #r_tour - это поле выбора, так почему бы просто не вызвать этот код при изменении значения поля выбора? Используйте $("#r_tour").change() вместо $("#r_tour option").click()

См. http://jsfiddle.net/L5Ktr/1/

$("#r_tour").change(function(){
     var value = $(this).val(); 
     $(div).load (url, 'id=' + uriEncodeComponent(value));
})
1 голос
/ 03 февраля 2011

Вы можете попробовать это:

$("#r_tour option").live("click", function(){
     var value = $(this).val(); 
     $(div).load(url, { id: value});
});

А этот код?:

$("#r_tour").live("click", function(){
     var value = $(this).val(); 
     alert(value);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...