Вы присваиваете значение arr
внутри initArray
, поэтому любое изменение значения arr
будет невидимым для внешнего мира. Вы должны передать arr
указателем:
void initArray(int** arr) {
// perform null-check, etc.
*arr = malloc(SIZE*sizeof(int));
}
...
initArray(&a);
Вы на самом деле используете в своих интересах ошибку в IE. Firefox поддерживает onChange правильно, поскольку он, как предполагается, не стреляет, пока браузер не теряет фокус избранного поля. (Я ответил на вопрос вчера об этой самой проблеме на самом деле.) На самом деле довольно опасно использовать onChange с выбором, особенно потому что нет никакого пути к клавиатуре только пользователей для пропуска некоторых опций. (Вдобавок ко всему, колесо мыши кажется для вращения несколькими ответами, но оно на самом деле увольняет onChange за каждую запись, мимо которой оно проходит на IE.)
, Если Вы действительно хотите, чтобы событие стреляло каждый раз, когда кто-то нажимает или вниз, я сцепился бы в onKeyPress или onKeyDown события для увольнения каждый раз, когда или "вниз" клавиша нажата.
Возможно, вместо того, чтобы использовать изменение () использование события размытость () событие и проверка, чтобы видеть, если измененное значение?
к вашему сведению, я не протестировал это, просто идея, что я имел. и я не уверен, является ли это желаемым эффектом, потому что он включил бы потерянный из фокуса, но я предлагаю это для хранения эффекта последовательным через различные браузеры.
var currentValue;
$('.travel-to').blur(function(){
var val = $(this).val();
if (currentValue != val) {
currentValue = val;
$.ajax({
type: "GET",
url: "/inc/rates/rates-viewer.php",
data: "shtech=y&c_name="+escape(currentValue),
success: function(html){
$(".rates-viewer").html(html);
$(".rates-viewer tr.numbers td").css({ opacity: 0 }).fadeTo("slow",1);
}
});
}
});