Вы можете сэкономить на установленном времени, используя тайм-аут, но лучшим способом может быть просто иметь какой-то обработчик события onchange, чтобы при изменении данных, если вы не сохранили в установленном количестве время, затем экономьте, но не экономьте на каждом нажатии клавиши.
Итак, вы посмотрите, когда вы в последний раз сохраняли, прежде чем вызывать функцию ajax.
Это позволит вам сохранять только при необходимости, но с заранее установленной скоростью. Таким образом, если вы хотите сохранять каждые 5 минут, то независимо от того, какие изменения были внесены, если изменение было внесено в это 5-минутное окно, которое вы сохраняете.
Выполнение вызова ajax тривиально, но jQuery может упростить его. К сожалению, чтобы получить то, что вы хотите, из того, что я видел, вам нужно будет просто реализовать свою собственную функциональность. Это сложно сделать в общем случае, так как разные люди могут захотеть сохранить, если будут изменены только определенные поля. Таким образом, только то, что я щелкаю по полю выбора, может не привести к функции сохранения, но изменение чего-либо в текстовом поле может.