Для правильного вопроса надо знать половину ответа
Значение input'а, изменённое через JS не приводит к срабатыванию события change.
Выход - вызывать функцию изменения total самостоятельно из обработчиков кнопок +/- или там же генерировать событие change на input'е.