Проблема здесь в том, что все эти функции-обработчики событий будут использовать одну и ту же переменную "place";Здесь только один.Относительно обработчиков событий это как глобальная переменная.
Вы можете написать отдельную функцию, чтобы помочь:
function makeHandler(place) {
return function() {
update_business(place.name);
};
}
Затем вы можете вызвать ее в цикле:
var input = $('<input/>').change(makeHandler(place));
Функция возвращает другую функцию, которая будет фактически использоваться в качестве обработчика событий.Поскольку переменная «place» из цикла передается в качестве аргумента функции «makeHandler», это уникальная копия «place» на определенной итерации цикла.Таким образом, у каждого обработчика событий есть свое собственное «место».