Выберите элемент и событие JQuery CHANGE в IE8? - PullRequest
4 голосов
/ 25 февраля 2011

У меня на сайте есть небольшой скрипт, который рассчитывает ценовое предложение на основе опций, выбранных в 4 различных элементах Select.Ценовое предложение записывается в div и обновляется каждый раз, когда происходит изменение выбранных параметров.

Вот ссылка на эту страницу: http://www.justaddsolutions.com/justaddwebsite/prices/

Я использовал событие jQuery CHANGEобработчик для запуска функции вычисления каждый раз, когда происходит изменение в моих элементах Select, например:

jQuery("#pages").change(price_quoter);

И вот мой HTML-код, который идет с ним:

<select id="pages" class="instant_quote" name="pages"> 
<option value="1">1 page</option>
<option value="2">2 pages</option>

отлично работает в Safari и Chrome, но не работает в IE8.В IE8 изменение элементов Select не вызывает вычислительную функцию.

Я исследовал эту проблему и получил противоречивые данные - некоторые говорят, что событие Change jQuery не работает в IE8, а некоторые говорят, что оно работает.

Затем я подумал использовать функцию onChange JS, но также прочитал, что она не поддерживается IE8.

Не могли бы вы выяснить, как это сделать во всех браузерах.

Ответы [ 3 ]

0 голосов
/ 20 июля 2011

По моему опыту, событие 'change' в jQuery работает в IE8 для списков выбора, возможно, есть еще одна ошибка в вашем коде, которая вызывает проблему?

0 голосов
/ 27 марта 2013

попробуйте

$("#pages").on("keyup change", function () {
    // let's make sure the event is not the problem , could be a problem with price_quoter? 
    alert("yay!! pages was changed");
    // call your function
    price_quoter();
    // do stuff here
});

если вы используете старую версию jquery, вам может понадобиться использовать «bind» вместо «on»

$("#pages").bind("keyup change", function () {
    // let's make sure the event is not the problem , could be a problem with price_quoter? 
    alert("yay!! pages was changed");
    // call your function
    price_quoter();
    // do stuff here
});
0 голосов
/ 25 февраля 2011

Попробуйте вместо этого использовать обработчик события $ ("select option"). Click ().

...